Kanon is the History of Astronomy Python package and tools.
units
- 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
tables
- Build or import ancient astronomical tables
- Perform arithmetical and statistical operations
- Support for BasedReal values
calendars
- Define new calendar types
- Date conversions
models
- Collection of mathematical models used for all kinds of geocentric astronomical tables
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 <https://python-poetry.org/docs/>)
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