Skip to main content

Classes for AniML handling

Project description

pyjaniml

Version License: MIT Python Versions: see setup.py

A package to serialize and deserialize janiml json documents using marshmallow.

Based on

https://docs.google.com/document/d/1vpPbkAqPFc22efJ0IXvGGSzAn_4VFNG_OiaEfn42zx4/edit?usp=sharing

https://github.com/AnIML/schemas/blob/master/animl-core.xsd

Installation

Install directly from the GitLab repository $ pip install pyjaniml

Usage

Example usage

Not yet implemented

  • Nested categories
  • Signature Set
  • Audit Trail

Contributing

The project uses black and isort for formatting its code. flake8 is used for linting. mypy is used for type checking. All these are combined into pre-commit to run before each commit and push. To set it up:

(env)$ python -m pip install pre-commit
(env)$ pre-commit install -t pre-commit -t pre-push --install-hooks

To run the unit tests you need some additional utilities that need to be installed before you can run the tests.

(env)$ python -m pip install -r requirements/tests.txt .
(env)$ python -m pip install -e .
(env)$ pytest --cov

Issuing a new Release

  1. Determine the next version you want to release. For that, check the CHANGELOG and the chances made since the last release. Let's call it $VERSION.

  2. Start a new branch release/$VERSION.

    (env)$ git checkout main
    (env)$ git pull
    (env)$ git checkout -b "release/$VERSION"
    
  3. Update the CHANGELOG with the new desired version. Also ensure the notes for the new release make sense and are coherant. Remember, the target audience for this changelog.

  4. Commit the changes an push them. Then open a merge request.

    (env)$ git add CHANGELOG.md
    (env)$ git commit -m "Release $VERSION"
    (env)$ git push -o merge_request.create -u origin "release/$VERSION"
    
  5. Once the merge request has been approved and merged, pull the changes, add a git tag and push it:

    (env)$ git checkout main
    (env)$ git pull
    (env)$ # If you have a GPG key, please sign the tag:
    (env)$ git tag -s -m "Release $VERSION" "$VERSION"
    (env)$ # If you do not have a GPG key:
    (env)$ git tag -m "Release $VERSION" "$VERSION"
    (env)$ git push --tags
    
  6. Check the build pipeline

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

pyjaniml-0.1.0.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

pyjaniml-0.1.0-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file pyjaniml-0.1.0.tar.gz.

File metadata

  • Download URL: pyjaniml-0.1.0.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for pyjaniml-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a36496d6a2e68d199c83beb7624ec19edf58db93aef07c79b53ab64ddad68781
MD5 044366437ed935ba20460b0ab1474bf9
BLAKE2b-256 d09b3825aee71889ca63a329b154aa85e7698e8f6e383e44de558bb9c769303a

See more details on using hashes here.

File details

Details for the file pyjaniml-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pyjaniml-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for pyjaniml-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0413a53e0dcd86a45697f22ee960cebcb5ed874c18f9ef8205cb4d8c1599639e
MD5 2166061201a4763253da98d61afa66ce
BLAKE2b-256 261f49061b66d0145ef3bf9c7aaac7dda19e5cf643312829694d01a5286f86b9

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