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

Uploaded Source

Built Distribution

pyjaniml-0.11.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyjaniml-0.11.0.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for pyjaniml-0.11.0.tar.gz
Algorithm Hash digest
SHA256 ab97d9493dc4455c10928dfe224643645df5ba987b00297b215ee4ab59ee74b1
MD5 9ec0a5af46836bca5f4f9d37a0ff1271
BLAKE2b-256 e715cd42830976b7f8fdf237f2fd26dd348b386808a513dedebe3068aa06797c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyjaniml-0.11.0-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for pyjaniml-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 229681979bb4bc3eb5aa70fc4bd3a9e4d7170fe292c1f57b11091c11630db1f3
MD5 368d9c002e39adbe68e9d2418f895671
BLAKE2b-256 2bf7867723b5696460822d8c6e504d50f73d09e8a84ff38c077b2a5cd2a2ef4a

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