Skip to main content

README

This is a project to get a python equivalent of the adr-tools by npryce on github. The tool can make and list and change Architecture Decision Records. For more information on Architecture Decision Records see the page of Joel Parker Henderson on ADRs.

Installation

pip install adr-tools-python

or

python3 -m pip install adr-tools-python --user

By adding a --upgrade flag, the tool can be updated if a new version is available

Usage

adr-init

With adr-init, the directory structure can be initialized. Default, a subdircectory doc/adr is generated, but if a different directory is wished for, this can be input:

adr-init foo

In this case, adrs will be stored in a local folder foo/. In the main directory, a file called .adr-dir is generated to indicate to adr-tools that a different location than the default doc/adr/ is used. This behaviour was copied from, and should be compatible with the original adr-tools. adr-init always creates a new adr to say that adrs will be used.

adr-new

A subject should be given for a new adr:

> adr-new create equal animals
> adr-list
doc/adr/0001-record-architecture-decisions.md
doc/adr/0002-create-equal-animals.md
> 

ADRs can be superceded from the command line using the -s option, and be linked by using the -l option.

From the documentation of adr-tools:

Multiple -s and -l options can be given, so that the new ADR can supercede

or link to multiple existing ADRs.

E.g. to create a new ADR with the title "Use MySQL Database":

adr new Use MySQL Database

E.g. to create a new ADR that supercedes ADR 12:

adr new -s 12 Use PostgreSQL Database

E.g. to create a new ADR that supercedes ADRs 3 and 4, and amends ADR 5:

adr new -s 3 -s 4 -l "5:Amends:Amended by" Use Riak CRDTs to cope with scale

The same funcitonality is also available in this python version

adr-list

See above, lists the adrs.

Serving the adrs

If you want the ADRs to be served on a webpage, please look for the python package [adr-viewer](https://pypi.org/project/adr-viewer/

Source, contribution

The source code is available on bitbucket. If you're interested in collaborating let me know, and/or send a merge request.

Thanks

Thanks to Michael Nygard for the original idea of ADRs, WesleyKS for his work on adre (which was inspiring, but not the road I followed), and of course to Npryce for making and documenting the bash toolchain I tried to replicate in Python.

Metadata

Release files for adr-tools-python 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for adr-tools-python 1.0.3
File Interpreter ABI Platform
adr_tools_python-1.0.3-py3-none-any.whl Python 3 none any Details

Release files / adr_tools_python-1.0.3-py3-none-any.whl

Download URL adr_tools_python-1.0.3-py3-none-any.whl
Size 12.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0bbd23ea47ec72559f16bd9e4237c1ff3ee848fd2b8a03f31e2b976ba185ecfd
BLAKE2b-256 checksum
How to use checksums
e894a05789668094e740355318609ad176e02888a5ba637028a7b4432f1ab427
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

Release history Release notifications | RSS feed

This release

1.0.3 This release

1 release file

1.0.2

2 release files

1.0.1

2 release files

1.0

2 release files

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page