You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Jérôme Deuchnord ab6ff0873d
docs: add code of conduct (#155)
3 years ago
.github ci: remove Docker workflow (already handled on Docker Hub side) (#146) 3 years ago
.scripts ci(compatibility): test on more Python versions and on macOS (#131) 3 years ago
kosmorrolib build: bump version 0.9.0 3 years ago
manpage feat(event): add support for moon apogee and perigee 3 years ago
test ci: move from unittest_data_provider to parameterized (#149) 3 years ago
.coveragerc ci(compatibility): test on more Python versions and on macOS (#131) 3 years ago
.editorconfig ci(compatibility): test on more Python versions and on macOS (#131) 3 years ago
.gitignore ci(commitlint): move to comlipy 3 years ago
.pylintrc ci(compatibility): test on more Python versions and on macOS (#131) 3 years ago
CHANGELOG.md Fix changelog 3 years ago
CODE_OF_CONDUCT.md docs: add code of conduct (#155) 3 years ago
CONTRIBUTING.md fix: handle out of range date error 3 years ago
Dockerfile feat: add official Docker image (#137) 3 years ago
LICENSE.md Add AGPL-v3.0 license 4 years ago
MANIFEST.in ci: add E2E tests 4 years ago
Makefile ci(compatibility): test on more Python versions and on macOS (#131) 3 years ago
Pipfile ci: move from unittest_data_provider to parameterized (#149) 3 years ago
Pipfile.lock chore(deps-dev): bump coveralls from 3.0.0 to 3.0.1 (#153) 3 years ago
README.md docs: use Repology to list the repository where Kosmorro is present (#152) 3 years ago
kosmorro fix: handle KeyboardInterrupt exception 4 years ago
setup.cfg feat(i18n): make the strings translatable 4 years ago
setup.py fix: handle out of range date error 3 years ago

README.md

Kosmorro

Coverage Status Version on PyPI Discord Docker Pulls

A program that calculates your astronomical ephemerides!

Installation

Production environment

Keep in mind that Kosmorro is still in alpha development stage and is not considered as stable.

Available packages

First thing first, check on the badge below (or on Repology) if your distribution has a package for Kosmorro. If possible, prefer these packages, since they provide the best integration with your system, especially the update routine.

Packaging status

If it doesn’t, then follow the methods ways below.

Install from PyPI (Linux, macOS)

Note: Python 3 and PIP3 is necessary on your machine. Please check you have installed it before you install Kosmorro. If you need help to install Python 3 and PIP3, please refer to your distribution’s manual.

Kosmorro is available on PyPI, a repository dedicated to Python. To install it, invoke the following command: pip3 install kosmorro.

Windows

Kosmorro being at an early-stage development, Windows is not supported officially for now.

Docker

Kosmorro is available on Docker Hub! You can get it by running docker pull kosmorro/kosmorro.

Now that you have the image, you can run it with docker run -it kosmorro/kosmorro. Run Kosmorro by executing kosmorro in the container.

You can also run the image with the command: docker run kosmorro/kosmorro kosmorro [args].

Note that for more convenience, you might add the following in your .bashrc/.zshrc/etc.:

alias kosmorro="docker run kosmorro/kosmorro kosmorro"
Image versioning on Docker Hub

By default, running docker pull kosmorro/kosmorro will download the latest tag by default, which corresponds to the last version of Kosmorro. If you prefer, you can also force pulling a specific version by specifying it after the : character: docker pull kosmorro/kosmorro:[version].

As of version 0.10, five kinds of tags are available:

Tag Description Example
unstable the current code in the master branch, for testing purpose kosmorro/kosmorro:unstable
latest the last version (equivalent to not specifying any tag) kosmorro/kosmorro:latest
x the last version in the x major version kosmorro/kosmorro:0: will pull the last version in the 0 major branch
x.y the last version in the x.y minor version kosmorro/kosmorro:0.10: will pull the last version in the 0 major branch
x.y.z the exact specified version kosmorro/kosmorro:0.10.0

Development environment

Before you run Kosmorro in your development environment, check you have installed these programs on your system:

  • Python ≥ 3.7.0 (needed run Kosmorro)
  • PIP3 (needed for package management, usually installed among with Python 3)
  • Pipenv (needed to manage the virtual environment)

Clone this repository and run pipenv sync to install all the dependencies. Then, run Kosmorro by invoking pipenv run python kosmorro.

For comfort, you may want to invoke pipenv shell first and then just python kosmoro.

Using Kosmorro

Using Kosmorro is as simple as invoking kosmorro in your terminal!

By default, it will give you the current Moon phase and, if any, the events that will occur today. To get the rise, culmination and set of the objects of the Solar system, you will need to give it your position on Earth: get your current coordinates (with OpenStreetMap for instance), and give them to Kosmorro by invoking it with the following parameters: --latitude=X --longitude=Y (replace X by the latitude and Y by the longitude).

Kosmorro has a lot of available options. To get a list of them, run kosmorro --help, or read its manual with man kosmorro.

Note: the first time it runs, Kosmorro will download some important files needed to make the computations. They are stored in a cache folder named .kosmorro-cache located in your home directory (/home/<username> on Linux, /Users/<username> on macOS).

Exporting to PDF

Kosmorro can export the computation results to PDF files, but this feature requires first that you install some additional dependencies. Before you use this feature, make sure you have installed a LaTeX distribution:

  • Linux: install TeXLive through your packages manager. Kosmorro just needs the minimal installation, you don’t need any extension.
    Note: on Ubuntu 20.04+, you will also need the texlive-latex-extra package.
  • macOS: install basic version of MacTeX:
    • from the official website, choose the smaller download
    • with Brew: brew install basictex

These dependencies are not installed by default, because they take a lot of place and are not necessary if you are not interested in generating PDF files.