worldbank / GOSTnets

Convenience wrapper for networkx analysis using geospatial information, focusing on OSM
https://worldbank.github.io/GOSTnets/
MIT License
21 stars 15 forks source link

Switch to pyproject.toml #48

Closed elbeejay closed 6 months ago

elbeejay commented 6 months ago

This PR switches the project to using a pyproject.toml to manage the installation/build. As part of this process, the version of the package will be dynamically set by the git commit, and the accompanying _version.py files are to be omitted from the version control history (and has been added to the .gitignore). Optional dependencies are included as well as instructions for installing them.

The Readme is also being revised to match the current installation options. The docker section needs to be revisited as the instructions as written cannot be followed. For the time being those sections have been commented out.

A setup.py file is still present because if I am remembering correctly it is needed to obtain an "editable installation" which can be useful for development. In that vein, there will be a page in the documentation outlining how developers should interact with the repository to make contributions. There is an optional installation "dev" for developers that contains all of the dependencies as well as those needed to build the documentation.

elbeejay commented 6 months ago

@g4brielvs - the install worked for me from the pyproject.toml file. Not sure how much more there is to do on this particular PR. Future PRs will build from here to set up the continuous integration (which should hopefully include the PyPI releases), and once this installation process is merged we can probably go ahead and create a recipe to get this hosted on conda-forge.

Do you think this is ready to merge? Any thoughts on what else would need to go in this particular PR?

g4brielvs commented 6 months ago

A setup.py file is still present because if I am remembering correctly it is needed to obtain an "editable installation" which can be useful for development. In that vein, there will be a page in the documentation outlining how developers should interact with the repository to make contributions. There is an optional installation "dev" for developers that contains all of the dependencies as well as those needed to build the documentation.

With PEP660, pyproject.toml allows editable installations.