Skip to main content

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

PyPI version Build Status codecov Documentation Status pre-commit black

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:

  1. Check out a branch for your release, called eg release/X.Y.Z
  2. Create a Pull Request into the main branch.
  3. Undertake your changes in other branches according to the git flow and create pull requests into release/X.Y.Z
  4. Ensure that documentation is updated to match changes, and increment the changelog. Pull requests which do not update documentation will be refused.
  5. Ensure that test coverage is sufficient. Pull requests that decrease test coverage will be refused.
  6. Ensure code meets style guidelines (pre-commit scripts and flake8 tests will fail otherwise)
  7. Address Review Comments on the PR
  8. Ensure the version in setup.py is correct and matches the branch version.
  9. Merge to main. Successful test, doc build, flake8 and a new version number will automatically create the release on pypi.
  10. Confirm the successful release on pypi
  11. Go to code > releases and create a new release on GitHub at the same SHA.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

twined-0.5.6.tar.gz (355.6 kB view details)

Uploaded Source

Built Distribution

twined-0.5.6-py3-none-any.whl (358.6 kB view details)

Uploaded Python 3

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

Hashes for twined-0.5.6.tar.gz
Algorithm Hash digest
SHA256 55164f0adce616029fac55f532bf4a8760ef9a7ece44a4adfafc038fa7a15aa5
MD5 174c405aea0b6f07ece3a153724bc1d4
BLAKE2b-256 09c20df615c2acaea515870a70e83b967633d01bc86db297e6f219a6e47554b9

See more details on using hashes here.

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

Hashes for twined-0.5.6-py3-none-any.whl
Algorithm Hash digest
SHA256 cea392d5e53fdd45c0122b4440bbbf19a4769fdd1bd66798a78e8a3de6e06720
MD5 bc6540dcdb8935ff547adc34230cff66
BLAKE2b-256 a63015dd6ff8028f7e1e3fbaad2da33ecc500186e5e1775e01dad3868ea9b358

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page