A library to help digital twins and data services talk to one another.
Project description
twined
A library to help digital twins and data services talk to one another. Read more at twined.readthedocs.io
Developer notes
Documentation for use of the library is here. You don't need to pay attention to the following unless you plan to develop Twined itself.
Contributing
-
Please raise an issue on the board (or add your $0.02 to an existing issue) so the maintainers know what's happening and can advise / steer you.
-
Create a fork of twined, undertake your changes on a new branch, named like issue-84 or similar. To run tests and make commits, you'll need to do something like:
git clone <your_forked_repo_address> # fetches the repo to your local machine
cd twined # move into the repo directory
pyenv virtualenv 3.6.9 twinedenv # Makes a virtual environment for you to install the dev tools into. Use any python >= 3.6
pyend activate twinedenv # Activates the virtual environment so you don't screw up other installations
pip install -r requirements-dev.txt # Installs the testing and code formatting utilities
pre-commit install # Installs the pre-commit code formatting hooks in the git repo
tox # Runs the tests with coverage. NB you can also just set up pycharm or vscode to run these.
-
Adopt a Test Driven Development approach to implementing new features or fixing bugs.
-
Ask the
twined
maintainers where to make your pull request. We'll create a version branch, according to the roadmap, into which you can make your PR. We'll help review the changes and improve the PR. -
Once checks have passed, test coverage of the new code is >=95%, documentation is updated and the Review is passed, we'll merge into the version branch.
-
Once all the roadmapped features for that version are done, we'll release.
Release process
The process for creating a new release is as follows:
- Check out a branch for your release, called eg
release/X.Y.Z
- Create a Pull Request into the
main
branch. - Undertake your changes in other branches according to the git flow and create pull requests into
release/X.Y.Z
- Ensure that documentation is updated to match changes, and increment the changelog. Pull requests which do not update documentation will be refused.
- Ensure that test coverage is sufficient. Pull requests that decrease test coverage will be refused.
- Ensure code meets style guidelines (pre-commit scripts and flake8 tests will fail otherwise)
- Address Review Comments on the PR
- Ensure the version in
setup.py
is correct and matches the branch version. - Merge to main. Successful test, doc build, flake8 and a new version number will automatically create the release on pypi.
- Confirm the successful release on pypi
- Go to code > releases and create a new release on GitHub at the same SHA.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file twined-0.5.6.tar.gz
.
File metadata
- Download URL: twined-0.5.6.tar.gz
- Upload date:
- Size: 355.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55164f0adce616029fac55f532bf4a8760ef9a7ece44a4adfafc038fa7a15aa5 |
|
MD5 | 174c405aea0b6f07ece3a153724bc1d4 |
|
BLAKE2b-256 | 09c20df615c2acaea515870a70e83b967633d01bc86db297e6f219a6e47554b9 |
File details
Details for the file twined-0.5.6-py3-none-any.whl
.
File metadata
- Download URL: twined-0.5.6-py3-none-any.whl
- Upload date:
- Size: 358.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cea392d5e53fdd45c0122b4440bbbf19a4769fdd1bd66798a78e8a3de6e06720 |
|
MD5 | bc6540dcdb8935ff547adc34230cff66 |
|
BLAKE2b-256 | a63015dd6ff8028f7e1e3fbaad2da33ecc500186e5e1775e01dad3868ea9b358 |