This is a monorepo housing all of the python open-gis tools.
Both ./lib
and ./packages
contain pep8-compliant python packages.
./lib
is for anything that can be shared between tools./packages
is for the tools themselves. They cannot depend on one another.
If you find that your tools have code they need to share you can either pull it into the ./lib/commons
package or, if there's enough code, create a new ./lib/whatever
package.
We're pretty much using the Gitflow Workflow
- All work MUST happen on branches.
- Make sure your pull requests merge onto
dev
and notmaster
. - Hotfixes may be applied directly to
master
... carefully and after lots of testing. - Add your issue and/or pull request to a milestone to make sure it will be included.
- Attach your commits to issues and pull requests by referencing them in commit messages
Philip Bailey - 12 Jul 2023
The recommended Python setup involves a single .venv
in created in the repo root folder. This venv is shared among all the packages (RSContext, VBET etc).
Each package has its own workspace. And these "package workspaces" do not include the root folder that contains the .venv. Therefore, when working in a package workspace Visual Studio Code can't find the root .venv.
We overcome this (on OSX) by creating a sym link to the root .venv inside each package workspace using the following command.
ln -s ../../.venv .
Then inside the package workspace you can do the following to point the workspace at this sym link (which links back to the one and only root .venv):
- Open any package workspace (RSContext, VBET etc)
- Open any Python code file.
- click on the Python version in the status bar at the bottom right of Visual Studio Code. This will prompt to select a new interpreter.
- Click "Set At Workspace Level...".
- Visual Studio Code "should list" the sym link .venv folder as one of the options. If it doesn't then you can browse to it.
This workflow needs to be repeated for each riverscapes tools package.