Welcome to Kanon documentation

GitHub Pipeline Status Coverage Docs status Kanon Pypi Python 3.8 Powered by Astropy Badge https://zenodo.org/badge/344498058.svg

Kanon is the History of Astronomy Python package and tools.

Current Features


  • Define standard positional numeral systems with standard arithmetics (BasedReal)

  • Set your own precision contexts and algorithms on arithmetical operations (PrecisionContext)

  • Keep track of all operations


  • Build or import ancient astronomical tables

  • Perform arithmetical and statistical operations

  • Support for BasedReal values


  • Define new calendar types

  • Date conversions


  • Collection of mathematical models used for all kinds of geocentric astronomical tables

How to use

Install the package with pip

pip install kanon

Import Kanon and begin trying all its features

import kanon.units as u

a = u.Sexagesimal(1,2,3)
b = u.Sexagesimal(2,1,59)

a + b
# 3,4,2 ;


To start developing on this project you need to install the package with poetry (Installing Poetry)

git clone https://github.com/legau/kanon.git
cd kanon
poetry install

The changes you make in the code are reflected on your Python environment.

Activate pre-commit checks :

pre-commit install


Run tests with tox

# source code tests
tox -e test

# example notebooks tests
tox -e test_notebooks

# linting
pre-commit run --all-files

Table of content