Skip to main content

A lightweight library for working with Akoma Ntoso Act documents

Project description

https://badge.fury.io/py/cobalt.svg https://travis-ci.org/OpenUpSA/cobalt.svg

Cobalt is a lightweight Python library for working with Akoma Ntoso Act documents. It makes it easy to work with Akoma Ntoso metadata, FRBR URIs and generate Tables of Contents for a document.

It is lightweight because most operations are done on the XML document directly without intermediate objects. You still need to understand how Akoma Ntoso works.

Read the full documentation at cobalt.readthedocs.org.

Quickstart

Install using:

$ pip install cobalt

Use it like this:

>>> from cobalt import Act
>>> act = Act()
>>> act.title = "Act 10 of 1980"
>>> act.frbr_uri = "/za/act/1980/10"
>>> act.year
'1980'
>>> act.number
'10'
>>> print act.to_xml()
[ lots of xml ]

Contributing

  1. Clone the repo

  2. Install development dependencies:

    pip install -e .[dev]
  3. Make your changes

  4. Run tests:

    nosetests && flake8 cobalt
  5. Send a pull request

Releasing a New Version

  1. Run the tests!

  2. Update VERSION appropriately

  3. Update the Change Log section in README.rst

  4. Commit and push to github

  5. Release to PyPI:

    python setup.py sdist bdist_wheel upload

Change Log

0.2.0

  • When rendering HTML, scope component/schedule ids to ensure they’re unique

0.1.11

  • Render ref elements as HTML a elements

  • Optionally prepend a resolver URL before a elements

0.1.10

  • Convert EOL elements to BR when changing XML to HTML

0.1.9

  • Support dates before 1900. Contributed by rkunal.

0.1.8

  • lifecycle and identification meta elements now have a configurable source attribute

0.1.7

  • TOCElement items now include a best-effort title

0.1.6

  • Use HTML5 semantic elements section and article when generating HTML for acts

0.1.5

  • FIX use schedule FRBRalias as heading

0.1.4

  • Transforming XML to HTML now includes all attributes as data- attributes

0.1.3

  • Refactor TOC helpers into own file

  • Fix .format in FrbrUri

0.1.1

  • first release

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

cobalt-0.2.0.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

cobalt-0.2.0-py2-none-any.whl (17.8 kB view details)

Uploaded Python 2

File details

Details for the file cobalt-0.2.0.tar.gz.

File metadata

  • Download URL: cobalt-0.2.0.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for cobalt-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0acfb80e09aee4b2b2099b3619db2f41cfd0697540d365c99c6ff43569b08bd8
MD5 ed319ac2cb63fc2f5dcf10d651080c3b
BLAKE2b-256 b98453680fa2cc467eac93d1aac6c0bd14af133a2b7c9844a8422e73f9e2d615

See more details on using hashes here.

File details

Details for the file cobalt-0.2.0-py2-none-any.whl.

File metadata

File hashes

Hashes for cobalt-0.2.0-py2-none-any.whl
Algorithm Hash digest
SHA256 112192dd54a133a03fb5e9cd300274cf0ca077daf8a4fc4f0af5825716242d67
MD5 7d847da4ca04e93541169f87a687de8e
BLAKE2b-256 7ad773c40ee535ae0b8b47201fcd2c2da58d4d8343ab3088858feb8c30ed4fa1

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