Skip to content

Commit

Permalink
updated for initial release
Browse files Browse the repository at this point in the history
  • Loading branch information
harisankar95 committed Nov 22, 2023
1 parent 5ba36fc commit d334921
Show file tree
Hide file tree
Showing 51 changed files with 2,055 additions and 1,865 deletions.
31 changes: 13 additions & 18 deletions .github/workflows/test-and-publish-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,31 +18,26 @@ jobs:
with:
python-version: "3.x"

- name: Install pipenv
- name: Upgrade pip
run: |
python -m pip install --upgrade pipenv wheel
- id: cache-pipenv
uses: actions/cache@v1
with:
path: ~/.local/share/virtualenvs
key: ${{ runner.os }}-pipenv-${{ hashFiles('**/Pipfile.lock') }}
python -m pip install --upgrade pip
pip install setuptools wheel twine
- name: Install dependencies
if: steps.cache-pipenv.outputs.cache-hit != 'true'
run: |
pipenv install --deploy --dev
pip install numpy, pytest, coverage
pip install -e .
- name: Run tests with pytest
run: pipenv run coverage run --source pathfinding -m pytest
run: coverage run --source pathfinding3d -m pytest

- name: Show basic test coverage report
run: pipenv run coverage report
run: coverage report

- name: Build a binary wheel and a source tarball
- name: Publish 📦 to PyPI
env:
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
pipenv run pip wheel --wheel-dir=./dist .
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1.8
with:
password: ${{ secrets.PYPI_API_TOKEN }}
python setup.py sdist bdist_wheel
twine upload dist/*
20 changes: 8 additions & 12 deletions .github/workflows/test-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
branches:
- main
jobs:
build-and-publish:
test:
name: Test
runs-on: ubuntu-latest
steps:
Expand All @@ -18,22 +18,18 @@ jobs:
with:
python-version: "3.x"

- name: Install pipenv
- name: Upgrade pip
run: |
python -m pip install --upgrade pipenv wheel
- id: cache-pipenv
uses: actions/cache@v1
with:
path: ~/.local/share/virtualenvs
key: ${{ runner.os }}-pipenv-${{ hashFiles('**/Pipfile.lock') }}
python -m pip install --upgrade pip
pip install setuptools wheel twine
- name: Install dependencies
if: steps.cache-pipenv.outputs.cache-hit != 'true'
run: |
pipenv install --deploy --dev
pip install numpy, pytest, coverage
pip install -e .
- name: Run tests with pytest
run: pipenv run coverage run --source pathfinding -m pytest
run: coverage run --source pathfinding3d -m pytest

- name: Show basic test coverage report
run: pipenv run coverage report
run: coverage report
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
.idea
.coverage
.pypirc
.vscode


# Byte-compiled / optimized / DLL files
Expand Down
78 changes: 2 additions & 76 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,77 +1,3 @@
# 1.0.4
## Bugfixes
- backward-compability with Python 3.9
# 0.1

# 1.0.3
## Bugfixes
- lookup-table/cache for the path in grid_str for faster output.

## New features
- Support for generic graphs that are not grids.

## General
- Minor PEP 8 fixes, (import order, remove empty lines, remove utf-8 force because it's the default in Python3)

# 1.0.2
## New features
- portals/elevators/steps (see [docs/02_connecting_grids.md](docs/02_connecting_grids.md))

## Security
- update Pipfile.lock (had depenencies on vulnerable pytest version)

## General
- **BREAKING CHANGE** remove Python 2 support (for older Python 3 and Python 2 see python2-branch)
- **BREAKING CHANGE** Node is a dataclass now
- stricter flake8 integration
- moved usage documentation to [docs](docs/)
- add contributing and changelog
- update license to 2023

# 1.0.1
## Bugfixes
- fix super call in Minimum Spanning Tree

# 1.0.0
## New features
- add Minimum Spanning Tree

## General
- throw error when check_neighbors isn't implemented
- add badges
- fix spelling, typos and update text in Readme
- update License to 2020

# 0.4.0
## Bugfix
- fix calc_cost (cost was calculated incorrectly)

## General
- add pipenv Pipfile

# 0.3.0
## Bugfix
- add long description from README.md to setup.py

## General
- More documentation and typo fixes

# 0.2.0
## Bugfixes
- use copy.copy for python2.5
- cleanup grid instead of recreate it every time (see #9)
- **BEHAVIOR CHANGED** Switch node walkable flag to use it as weight, so <0 is an obstacle and >=1 is a walkable field now

## New features
- BestFirstSearch (BFS)
- raytrace for path smoothing
- weighted path finding for A* and Dijkstra

## General
- coveralls integration
- removed debug logs
- updated license to 2018
- More unit tests, add constrains for time and step count
- flake8 integration

# 0.1.0
Initial release
Initial release based on [python-pathfinding](https://github.com/brean/python-pathfinding/commit/5ba36fc50602b5b90c365c64b7fb2eee120336b9)
26 changes: 13 additions & 13 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Contributing to **python-pathfinding**
# Contributing to **python-pathfinding-3D**

Please inform the maintainer as early as possible about your planned
feature developments, extensions, or bugfixes that you are working on.
Expand All @@ -7,32 +7,32 @@ what you are trying to do.

## Pull Requests

The preferred way to contribute to *python-pathfinding* is to fork the main repository on Github, then submit a "pull request"
The preferred way to contribute to *python-pathfinding-3D* is to fork the main repository on Github, then submit a "pull request"
(PR):

1. Fork the [project repository](https://github.com/brean/python-pathfinding):
1. Fork the [project repository](https://github.com/harisankar95/python-pathfinding-3D):
click on the 'Fork' button near the top of the page. This creates a copy of
the code under your account on the Github server.

3. Clone this copy to your local disk:
2. Clone this copy to your local disk:

$ git clone [email protected]:YourLogin/python-pathfinding.git
git clone [email protected]:YourLogin/python-pathfinding-3D.git

4. Create a branch to hold your changes:
3. Create a branch to hold your changes:

$ git checkout -b my-feature
git checkout -b my-feature

and start making changes. Never work in the ``main`` branch!

5. Work on this copy, on your computer, using Git to do the version
4. Work on this copy, on your computer, using Git to do the version
control. When you're done editing, do::

$ git add modified_files
$ git commit
git add modified_files
git commit

to record your changes in Git, then push them to Github with::

$ git push -u origin my-feature
git push -u origin my-feature

Finally, go to the web page of the your fork of the repo,
and click 'Pull request' to send your changes to the maintainers for review.
Expand All @@ -41,10 +41,10 @@ and click 'Pull request' to send your changes to the maintainers for review.

Summary: maintainer can push minor changes directly, pull request + 1 reviewer for everything else.

* Usually it is not possible to push directly to the `main` branch of *python-pathfinding* for anyone. Only tiny changes, urgent bugfixes, and maintenance commits can be pushed directly to the `main` branch by the maintainer without a review. "Tiny" means backwards compatibility is mandatory and all tests must succeed. No new feature must be added.
* Usually it is not possible to push directly to the `main` branch of *python-pathfinding-3D* for anyone. Only tiny changes, urgent bugfixes, and maintenance commits can be pushed directly to the `main` branch by the maintainer without a review. "Tiny" means backwards compatibility is mandatory and all tests must succeed. No new feature must be added.

* Developers should submit pull requests. Those will ideally be reviewed by at least one other developer and merged by the maintainer. New features must be documented and tested. Breaking changes must be discussed and announced in advance with deprecation warnings.

## Project Roadmap

Check the [Issue Tracker](https://github.com/brean/python-pathfinding/issues) for roadmap planning.
Check the [Issue Tracker](https://github.com/harisankar95/python-pathfinding-3D/issues) for roadmap planning.
3 changes: 1 addition & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2015-2023 Andreas Bresser <[email protected]>
Copyright (c) 2023 Harisankar Babu

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -19,4 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

14 changes: 0 additions & 14 deletions Pipfile

This file was deleted.

Loading

0 comments on commit d334921

Please sign in to comment.