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.7.0.tar.gz (355.3 kB view details)

Uploaded Source

Built Distribution

twined-0.7.0-py3-none-any.whl (358.7 kB view details)

Uploaded Python 3

File details

Details for the file twined-0.7.0.tar.gz.

File metadata

  • Download URL: twined-0.7.0.tar.gz
  • Upload date:
  • Size: 355.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for twined-0.7.0.tar.gz
Algorithm Hash digest
SHA256 402c5bda416e8feb031ab9d32b468dcfab84cc6f03b1fd6779057d1016f2655f
MD5 dc2d9ababcaf33ba89cd9ae2ff44ba9f
BLAKE2b-256 81e202c14be219457150c5bf0387db333a822ef3968648f23da4f7db0dbf7f88

See more details on using hashes here.

Provenance

The following attestation bundles were made for twined-0.7.0.tar.gz:

Publisher: release.yml on octue/twined

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file twined-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: twined-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 358.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for twined-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b582aa8a517c15faa49f453986a245a4119901aa8ce60bf2b1fae30656777ff
MD5 21e17c5d8da0fc960280ae8ee39f14ae
BLAKE2b-256 969671b9a8d179232e1d1660f446c69be93c026193dbbf1c4f1e540ad5e2fece

See more details on using hashes here.

Provenance

The following attestation bundles were made for twined-0.7.0-py3-none-any.whl:

Publisher: release.yml on octue/twined

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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