BREAKING CHANGE: Docker support has been removed. If you were using it, please migrate to [one of the other available options](https://kosmorro.space/cli/download/).tags/v0.10.10
@@ -88,10 +88,9 @@ body: | |||||
- PyPI | - PyPI | ||||
- Arch User Repository (AUR) | - Arch User Repository (AUR) | ||||
- FreshPorts | - FreshPorts | ||||
- Docker | |||||
- I used the AppImage | |||||
- I have compiled the package from source | - I have compiled the package from source | ||||
- I have run Kosmorro with Pipenv | |||||
- other | |||||
- Other (explain in the description) | |||||
- type: textarea | - type: textarea | ||||
id: description | id: description | ||||
@@ -19,8 +19,8 @@ jobs: | |||||
sudo gem install ronn | sudo gem install ronn | ||||
wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /usr/local/bin/appimagetool | wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /usr/local/bin/appimagetool | ||||
sudo chmod +x /usr/local/bin/appimagetool | sudo chmod +x /usr/local/bin/appimagetool | ||||
pip install -U pip pipenv Babel wheel appimage-builder | |||||
pipenv install --dev | |||||
pip install -U pip poetry appimage-builder | |||||
poetry install | |||||
- name: Build wheel | - name: Build wheel | ||||
run: | | run: | | ||||
@@ -41,3 +41,8 @@ jobs: | |||||
with: | with: | ||||
name: kosmorro.AppImage.zsync | name: kosmorro.AppImage.zsync | ||||
path: dist/kosmorro-latest-x86_64.AppImage.zsync | path: dist/kosmorro-latest-x86_64.AppImage.zsync | ||||
- name: Run basic command | |||||
run: | | |||||
chmod +x dist/kosmorro-latest-x86_64.AppImage | |||||
./dist/kosmorro-latest-x86_64.AppImage |
@@ -1,26 +0,0 @@ | |||||
name: Docker image | |||||
on: | |||||
push: | |||||
branches: [master, features] | |||||
pull_request: | |||||
branches: [master, features] | |||||
jobs: | |||||
build-image: | |||||
runs-on: ubuntu-latest | |||||
name: Test building Docker image | |||||
steps: | |||||
- uses: actions/checkout@v1 | |||||
- name: Set up Docker | |||||
uses: docker-practice/actions-setup-docker@v1 | |||||
- name: Create image | |||||
run: | | |||||
docker build -t kosmorro . | |||||
- name: Execute image | |||||
run: | | |||||
docker run kosmorro kosmorro |
@@ -18,21 +18,20 @@ jobs: | |||||
python-version: '3.x' | python-version: '3.x' | ||||
- name: Install dependencies | - name: Install dependencies | ||||
run: | | run: | | ||||
pip install --upgrade pip pipenv | |||||
pipenv sync -d | |||||
pip install --upgrade pip poetry | |||||
poetry install | |||||
- name: Check i18n | - name: Check i18n | ||||
run: | | run: | | ||||
pipenv run pybabel extract --output=/tmp/kosmorro-messages.pot _kosmorro | |||||
poetry run pybabel extract --output=/tmp/kosmorro-messages.pot kosmorro | |||||
echo | echo | ||||
diff=$(diff _kosmorro/locales/messages.pot /tmp/kosmorro-messages.pot | grep '^>') | |||||
diff=$(diff kosmorro/locales/messages.pot /tmp/kosmorro-messages.pot | grep '^>') | |||||
n=$(echo "$diff" | grep -v '> "POT-Creation-Date: ' | wc -l) | n=$(echo "$diff" | grep -v '> "POT-Creation-Date: ' | wc -l) | ||||
if [ "$(echo "$diff" | grep -E '^"Generated-By: Babel' | wc -l)" -eq "1" ]; then | if [ "$(echo "$diff" | grep -E '^"Generated-By: Babel' | wc -l)" -eq "1" ]; then | ||||
echo "❌ You dependencies may be out of date!" | |||||
echo "❌ Your dependencies may be out of date!" | |||||
echo " Please run the following command to fix this:" | echo " Please run the following command to fix this:" | ||||
echo | echo | ||||
echo " pipenv sync --dev" | |||||
echo " poetry install" | |||||
echo | echo | ||||
echo " Then update the messages file:" | echo " Then update the messages file:" | ||||
echo | echo | ||||
@@ -0,0 +1,28 @@ | |||||
name: Man pages | |||||
on: | |||||
push: | |||||
branches: [master, features] | |||||
pull_request: | |||||
branches: [master, features] | |||||
jobs: | |||||
e2e-tests: | |||||
runs-on: ubuntu-latest | |||||
name: Check | |||||
steps: | |||||
- uses: actions/checkout@v2 | |||||
- name: Compile man pages | |||||
run: | | |||||
sudo gem install ronn | |||||
make manpage | |||||
- name: manpage (section 1) | |||||
run: | | |||||
man -P $(which cat) manpage/kosmorro.1 | |||||
- name: manpage (section 7) | |||||
run: | | |||||
man -P $(which cat) manpage/kosmorro.7 |
@@ -27,19 +27,17 @@ jobs: | |||||
name: Python ${{ matrix.python-version }} on ${{ matrix.os }} | name: Python ${{ matrix.python-version }} on ${{ matrix.os }} | ||||
steps: | steps: | ||||
- uses: actions/checkout@v1 | |||||
- uses: actions/checkout@v2 | |||||
- name: Set up Python | - name: Set up Python | ||||
uses: actions/setup-python@v1 | |||||
uses: actions/setup-python@v2 | |||||
with: | with: | ||||
python-version: ${{ matrix.python-version }} | python-version: ${{ matrix.python-version }} | ||||
- name: Prepare tests | - name: Prepare tests | ||||
run: | | run: | | ||||
sudo gem install ronn | |||||
pip install -U pip pipenv | |||||
pipenv sync --dev | |||||
make manpage | |||||
pip install -U pip poetry | |||||
poetry install | |||||
- name: E2E tests | - name: E2E tests | ||||
run: | | run: | | ||||
@@ -55,11 +53,3 @@ jobs: | |||||
TEXLIVE_INSTALLED: 1 | TEXLIVE_INSTALLED: 1 | ||||
run: | | run: | | ||||
make tests | make tests | ||||
- name: manpage (section 1) | |||||
run: | | |||||
man -P $(which cat) manpage/kosmorro.1 | |||||
- name: manpage (section 7) | |||||
run: | | |||||
man -P $(which cat) manpage/kosmorro.7 |
@@ -10,5 +10,5 @@ vscode: | |||||
tasks: | tasks: | ||||
- before: sudo apt update && sudo apt install -y texlive texlive-latex-extra | - before: sudo apt update && sudo apt install -y texlive texlive-latex-extra | ||||
- before: pip install -U pip pipenv | |||||
init: pipenv sync --dev --pre | |||||
- before: pip install -U pip poetry | |||||
init: poetry install |
@@ -3,7 +3,7 @@ version: 1 | |||||
script: | | script: | | ||||
mkdir -p build/AppDir build/AppDir/usr/share/icons/hicolor/scalable/apps | mkdir -p build/AppDir build/AppDir/usr/share/icons/hicolor/scalable/apps | ||||
cp _kosmorro/assets/svg/kosmorro-icon.svg build/AppDir/usr/share/icons/hicolor/scalable/apps/kosmorro.svg | |||||
cp kosmorro/assets/svg/kosmorro-icon.svg build/AppDir/usr/share/icons/hicolor/scalable/apps/kosmorro.svg | |||||
pip3 install --isolated --root="./build/AppDir" ./dist/kosmorro-*.whl | pip3 install --isolated --root="./build/AppDir" ./dist/kosmorro-*.whl | ||||
AppDir: | AppDir: | ||||
@@ -23,7 +23,7 @@ If you speak another language than English, another nice way to enhance Kosmorro | |||||
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/Kosmorro/kosmorro) | [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/Kosmorro/kosmorro) | ||||
First of all, if you are fixing an opened issue, check that nobody is already working on it — if someone seems to be but their Pull Request seems stuck, please ask them first if you can continue the development. If you retake the code they produced, **don't change the author of the commits**. | |||||
First, if you are fixing an opened issue, check that nobody is already working on it — if someone seems to be but their Pull Request seems stuck, please ask them first if you can continue the development. If you retake the code they produced, **don't change the author of the commits**. | |||||
Before writing the code, first create a fork of the repository and clone it. You may also want to add the original repository (`Kosmorro/kosmorro`), so you can update your fork with the last upstream commits. | Before writing the code, first create a fork of the repository and clone it. You may also want to add the original repository (`Kosmorro/kosmorro`), so you can update your fork with the last upstream commits. | ||||
@@ -50,7 +50,7 @@ When you add a new string that will be displayed to the end user, please pass it | |||||
print('Note: All the hours are given in UTC.') | print('Note: All the hours are given in UTC.') | ||||
# Do: | # Do: | ||||
from kosmorrolib.i18n import _ | |||||
from kosmorro.i18n import _ | |||||
print(_('Note: All the hours are given in UTC.')) | print(_('Note: All the hours are given in UTC.')) | ||||
``` | ``` | ||||
@@ -58,45 +58,37 @@ This will allow Python's internationalization tool to translate the string in an | |||||
Once you have done your work, please remember to tell [Babel](http://babel.pocoo.org) to extract the new strings: | Once you have done your work, please remember to tell [Babel](http://babel.pocoo.org) to extract the new strings: | ||||
```console | |||||
$ make messages | |||||
```bash | |||||
make messages | |||||
``` | ``` | ||||
> If the `setup.py` script tells you that the `extract_messages` command does not exist, then run `pipenv sync` to ensure all the dev dependencies are installed and try again. | |||||
Note that if you forget to update the messages file, the CI will fail. | Note that if you forget to update the messages file, the CI will fail. | ||||
### Matching the coding standards | ### Matching the coding standards | ||||
Kosmorro's source code follows the major coding standards of Python (PEPs). Before marking your Pull Request as ready for review, don't forget to check that the code respects the coding standards with PyLint (it is run on the CI, but feel free to run it on your local machine too). Your PR must have a global note of 10/10 to be elligible to merge. | |||||
### Testing the code | |||||
There are two kinds of tests on this project: **unit tests** and **end-to-end tests** (sometimes abbreviated to _E2E tests_). | |||||
#### Unit tests | |||||
[Unit tests](https://en.wikipedia.org/wiki/Unit_testing) check that every little piece of code (any _unit_) does exactly what it is supposed to do. They have several advantages, like proving that new things in the codebase works exactly as they should, and making sure that future changes done later won't break them. | |||||
Kosmorro's unit tests use Python's official `unittest` module. They live in the `/test` folder of the repository. Whenever you write a new feature or a bug fix, please write the unit tests that will make sure it works. | |||||
You can also run them by invoking the following command: | |||||
Kosmorro's source code follows the major coding standards of Python (PEPs). | |||||
Before marking your Pull Request as ready for review, don't forget to check that the code respects the coding standards with Black: | |||||
```shell | |||||
make test | |||||
```bash | |||||
make black | |||||
``` | ``` | ||||
Note: there are currently some memory leaks in the unit tests, making the result quite difficult to read. I am working to fix this. | |||||
If you have troubles reading them, feel free to ask. | |||||
### Testing the code | |||||
#### End-to-end tests | |||||
The tests are located in the `/tests` folder. | |||||
Their principle is pretty simple: | |||||
If unit tests are really good at checking that every individual parts of code work well, they fail at checking that so does the _whole_ program as a finished product. That is the job of end-to-end tests. | |||||
1. First, we run a Kosmorro command as we would in command line application. We use the [Aurornis](https://pypi.org/project/aurornis/) package to do this. | |||||
2. Then, we test the return of the command against what we expected. We use [PyTest](https://pypi.org/project/pytest/) to do this. | |||||
The goal here is to make sure that if you install Kosmorro from scratch, it will work without any problem. If a mandatory dependency has not been installed, or if something goes wrong in the main program (which is not possible to unit test), the E2E tests will fail. | |||||
To run the tests, invoke the following command: | |||||
Kosmorro's 2E2 tests are a Bash script living in the `/.scripts/tests-e2e.sh` file. You should only add tests here if you add new ways to interact with Kosmorro itself (e.g. adding a new argument in the command line). | |||||
```bash | |||||
make tests | |||||
Fore security purpose, it is not recommended running E2E tests locally, because some tests need the root privilege to pass (e.g. installing optional dependencies). They are run on the CI. | |||||
# Or, if you have TeXLive installed on your machine (Linux only): | |||||
make TEXLIVE_INSTALLED=1 tests | |||||
``` | |||||
### Commiting | ### Commiting | ||||
@@ -112,11 +104,7 @@ Once your PR is ready to review, please squash your commits so it contains only | |||||
> To ensure your commits follow this convention, you can use [glint](https://github.com/brigand/glint). | > To ensure your commits follow this convention, you can use [glint](https://github.com/brigand/glint). | ||||
The commit messages are then used to generate the changelog using [`conventional-changelog`](https://github.com/conventional-changelog/conventional-changelog): | |||||
```bash | |||||
conventional-changelog -p angular -i CHANGELOG.md -s | |||||
``` | |||||
The commit messages are then used to generate the changelog using [`conventional-changelog`](https://github.com/conventional-changelog/conventional-changelog). | |||||
## Licensing and Copyright Attribution | ## Licensing and Copyright Attribution | ||||
@@ -1,33 +0,0 @@ | |||||
FROM python:3.9-slim | |||||
RUN useradd --create-home --shell /bin/bash kosmorro | |||||
WORKDIR /home/kosmorro | |||||
ENV PATH="/home/kosmorro:${PATH}" | |||||
# Prepare environment | |||||
RUN python -m pip install --upgrade pip | |||||
RUN pip install pipenv | |||||
COPY Pipfile.lock . | |||||
RUN pipenv sync && pipenv run pip freeze > requirements.txt | |||||
# Add files | |||||
RUN pip install -r requirements.txt | |||||
COPY _kosmorro/ _kosmorro/ | |||||
COPY kosmorro . | |||||
# Compile the translations | |||||
COPY setup.py setup.py | |||||
COPY setup.cfg setup.cfg | |||||
COPY README.md README.md | |||||
RUN python setup.py compile_catalog | |||||
# Clean the image | |||||
RUN rm setup.py setup.cfg README.md && \ | |||||
rm _kosmorro/locales/messages.pot _kosmorro/locales/*/LC_MESSAGES/messages.po && \ | |||||
pip uninstall --yes pipenv | |||||
USER kosmorro | |||||
CMD ["bash"] |
@@ -1,18 +1,13 @@ | |||||
black: | black: | ||||
pipenv run black kosmorro _kosmorro tests setup.py | |||||
poetry run black kosmorro tests setup.py | |||||
.PHONY: tests | .PHONY: tests | ||||
tests: | tests: | ||||
@if [ "$${TEXLIVE_INSTALLED}" == "" ]; then \ | |||||
echo "If you are running the tests locally and TeXLive is installed on your machine, you will need to set the TEXLIVE_INSTALLED environment variable."; \ | |||||
echo; \ | |||||
fi | |||||
LANG=C pipenv run python3 -m pytest tests/*.py | |||||
LANG=C python3 -m poetry run pytest tests/*.py | |||||
.PHONY: build | .PHONY: build | ||||
build: manpage | build: manpage | ||||
python3 setup.py sdist bdist_wheel | |||||
poetry build | |||||
.PHONY: manpage | .PHONY: manpage | ||||
manpage: | manpage: | ||||
@@ -20,10 +15,10 @@ manpage: | |||||
ronn --roff manpage/kosmorro.7.md | ronn --roff manpage/kosmorro.7.md | ||||
messages: | messages: | ||||
pipenv run pybabel extract --output=_kosmorro/locales/messages.pot _kosmorro | |||||
poetry run pybabel extract --output=kosmorro/locales/messages.pot kosmorro | |||||
i18n: | i18n: | ||||
pipenv run pybabel compile --directory=_kosmorro/locales | |||||
poetry run pybabel compile --directory=kosmorro/locales | |||||
changelog: | changelog: | ||||
conventional-changelog -p angular -i CHANGELOG.md -s | conventional-changelog -p angular -i CHANGELOG.md -s | ||||
@@ -1,22 +0,0 @@ | |||||
[[source]] | |||||
name = "pypi" | |||||
url = "https://pypi.org/simple" | |||||
verify_ssl = true | |||||
[dev-packages] | |||||
black = "*" | |||||
pytest = "*" | |||||
aurornis = "*" | |||||
[packages] | |||||
tabulate = "*" | |||||
termcolor = "*" | |||||
kosmorrolib = ">=1.0.0,<2.0.0" | |||||
python-dateutil = "*" | |||||
babel = ">=2.9.0,<3.0.0" | |||||
[requires] | |||||
python_version = "3" | |||||
[pipenv] | |||||
allow_prereleases = true |
@@ -1,293 +0,0 @@ | |||||
{ | |||||
"_meta": { | |||||
"hash": { | |||||
"sha256": "7c87215e821ad4c88dadc31960030f52957e2eaa41d451bfa3a53feb91b8d856" | |||||
}, | |||||
"pipfile-spec": 6, | |||||
"requires": { | |||||
"python_version": "3" | |||||
}, | |||||
"sources": [ | |||||
{ | |||||
"name": "pypi", | |||||
"url": "https://pypi.org/simple", | |||||
"verify_ssl": true | |||||
} | |||||
] | |||||
}, | |||||
"default": { | |||||
"babel": { | |||||
"hashes": [ | |||||
"sha256:ab49e12b91d937cd11f0b67cb259a57ab4ad2b59ac7a3b41d6c06c0ac5b0def9", | |||||
"sha256:bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0" | |||||
], | |||||
"index": "pypi", | |||||
"version": "==2.9.1" | |||||
}, | |||||
"certifi": { | |||||
"hashes": [ | |||||
"sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872", | |||||
"sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569" | |||||
], | |||||
"version": "==2021.10.8" | |||||
}, | |||||
"jplephem": { | |||||
"hashes": [ | |||||
"sha256:e1c6e5565c4d00485f1063241b4d1eff044585c22b8e97fad0ff2f6efb8aaa27" | |||||
], | |||||
"version": "==2.17" | |||||
}, | |||||
"kosmorrolib": { | |||||
"hashes": [ | |||||
"sha256:8c77f40b346d183147cb3e927b3ea5c7d4d7067ce7e49edb73821566f74d5e51", | |||||
"sha256:9ffbbaa8666c1222bf8a25d543afa72a0a80249017d342a6667bcae8657effc0" | |||||
], | |||||
"index": "pypi", | |||||
"version": "==1.0.6" | |||||
}, | |||||
"numpy": { | |||||
"hashes": [ | |||||
"sha256:07a8c89a04997625236c5ecb7afe35a02af3896c8aa01890a849913a2309c676", | |||||
"sha256:08d9b008d0156c70dc392bb3ab3abb6e7a711383c3247b410b39962263576cd4", | |||||
"sha256:201b4d0552831f7250a08d3b38de0d989d6f6e4658b709a02a73c524ccc6ffce", | |||||
"sha256:2c10a93606e0b4b95c9b04b77dc349b398fdfbda382d2a39ba5a822f669a0123", | |||||
"sha256:3ca688e1b9b95d80250bca34b11a05e389b1420d00e87a0d12dc45f131f704a1", | |||||
"sha256:48a3aecd3b997bf452a2dedb11f4e79bc5bfd21a1d4cc760e703c31d57c84b3e", | |||||
"sha256:568dfd16224abddafb1cbcce2ff14f522abe037268514dd7e42c6776a1c3f8e5", | |||||
"sha256:5bfb1bb598e8229c2d5d48db1860bcf4311337864ea3efdbe1171fb0c5da515d", | |||||
"sha256:639b54cdf6aa4f82fe37ebf70401bbb74b8508fddcf4797f9fe59615b8c5813a", | |||||
"sha256:8251ed96f38b47b4295b1ae51631de7ffa8260b5b087808ef09a39a9d66c97ab", | |||||
"sha256:92bfa69cfbdf7dfc3040978ad09a48091143cffb778ec3b03fa170c494118d75", | |||||
"sha256:97098b95aa4e418529099c26558eeb8486e66bd1e53a6b606d684d0c3616b168", | |||||
"sha256:a3bae1a2ed00e90b3ba5f7bd0a7c7999b55d609e0c54ceb2b076a25e345fa9f4", | |||||
"sha256:c34ea7e9d13a70bf2ab64a2532fe149a9aced424cd05a2c4ba662fd989e3e45f", | |||||
"sha256:dbc7601a3b7472d559dc7b933b18b4b66f9aa7452c120e87dfb33d02008c8a18", | |||||
"sha256:e7927a589df200c5e23c57970bafbd0cd322459aa7b1ff73b7c2e84d6e3eae62", | |||||
"sha256:f8c1f39caad2c896bc0018f699882b345b2a63708008be29b1f355ebf6f933fe", | |||||
"sha256:f950f8845b480cffe522913d35567e29dd381b0dc7e4ce6a4a9f9156417d2430", | |||||
"sha256:fade0d4f4d292b6f39951b6836d7a3c7ef5b2347f3c420cd9820a1d90d794802", | |||||
"sha256:fdf3c08bce27132395d3c3ba1503cac12e17282358cb4bddc25cc46b0aca07aa" | |||||
], | |||||
"markers": "python_version >= '3.8'", | |||||
"version": "==1.22.3" | |||||
}, | |||||
"python-dateutil": { | |||||
"hashes": [ | |||||
"sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86", | |||||
"sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9" | |||||
], | |||||
"index": "pypi", | |||||
"version": "==2.8.2" | |||||
}, | |||||
"pytz": { | |||||
"hashes": [ | |||||
"sha256:3672058bc3453457b622aab7a1c3bfd5ab0bdae451512f6cf25f64ed37f5b87c", | |||||
"sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326" | |||||
], | |||||
"version": "==2021.3" | |||||
}, | |||||
"sgp4": { | |||||
"hashes": [ | |||||
"sha256:05f22b4fd91861ee2e0e03a528c1aef11a8b263a60ab5f723d32cdb65dac3eaa", | |||||
"sha256:06586caf071e3427bc4e5a5c84a806045532040dc2c35ca0ff12f34cab2ecb5c", | |||||
"sha256:1af727dfe02ef32babd124644e96b8cc109b22142efb44e37d0e3aaf4c38a1ab", | |||||
"sha256:1d3b5abc07266203f4b453e7c1ca8403ef2d7b8d1779c14c9a4177e4b1558ba5", | |||||
"sha256:24477da85936b864fd765911f808a4d113c81189c2a0ecd5992bcdf9aecbf5ef", | |||||
"sha256:2a89fc1debacfa10cf55ae1d40472037a57687b1ae3b66e7196e5af53fb96a56", | |||||
"sha256:2b449e6cab15748608c6083f86b0059d26093f76fa227010df09d8f0954b3bbd", | |||||
"sha256:3e3eb29c308d30d010316832606af184d243d5aab8ccc5d589f3cb85d74471f7", | |||||
"sha256:43c2c6d464144bb80987b2e66f3992add58c65e095abe2b9d567650fdb877a9d", | |||||
"sha256:4d5eb2aff4f645f5020ac869ec453dcd807836b3eb8b459d569eda40c358cd76", | |||||
"sha256:642bae76c6e55b72feda3c5ca3721e837f2702816a120805349b06e40f85faea", | |||||
"sha256:67f99f534fdc5650d8efe516e77dd9b43e4cb8ab9b38f2b66484085c0ff75077", | |||||
"sha256:6c906973dc2966cba8065f359c3eaa18505280be8f625b54ebb98f5ddeb8d205", | |||||
"sha256:7d848698ae2bf5bb9ea2082640b0417175a6b2e6e8d580114ebe04265cd1bfb4", | |||||
"sha256:80f9b2f1c2ac53c7b8cbf1a08e5a39a56c1b7c18d3e0de922078758a784b0b20", | |||||
"sha256:876b82d41a859c9ff65d3bdb7f6a3cecfc63bea529b4dc751b06eefbd6c3f1e0", | |||||
"sha256:8c2f4f99ab360a93768bf88ad6a9fdf83edfa6292e0a0ac8924c85fde11b2055", | |||||
"sha256:9fde328872f484eb644dabe32122ba617570ff61b548b7200a9d63629ac3097c", | |||||
"sha256:b2169cd536355fc67e3870acea34c4fc22b2ccecab2c0bf45a01edfe646fe3d0", | |||||
"sha256:cf4d5ac32b5e84c7b420109a09ea3c3741844fa92776f79d1c852cc67e2c1364", | |||||
"sha256:d42a3dcdfd394c5059b99bbf8b35311e03e87d21fbfb6ba2d5c5d2dfad15d4d7", | |||||
"sha256:dbfffe1ff2c223804e2ebdeb568baad46f40342943c4a74169fd75dc5dddda57", | |||||
"sha256:dfc5214b65ad8229c499f0da3f5042a18239f12f4318e90d892a79dcbf27282f", | |||||
"sha256:e73680b3b7b8b977766ae91eadd92988a0c3e36248dcac5d8263a957bec34a04", | |||||
"sha256:e8ecc01fdffe81f11ca94bb255024379e62c92f73e2baec2bdf5a3c3108221ff", | |||||
"sha256:ea37423d4317ec5351a4e3b6a3947a6053978e5290549d77ba375459527f7ccb", | |||||
"sha256:ee329571c1a25ce4f1e2b01d6f923791d16c5a7a3a75219317073bc50a7d25fe", | |||||
"sha256:ee3688ae409a201107927b24be10db2a61efdd5a919737b4900c57ee8b3a22d6", | |||||
"sha256:f5d2830f2896cecc4af0729cd328994ae823f277f481d4fc992383eb79f3742a" | |||||
], | |||||
"version": "==2.20" | |||||
}, | |||||
"six": { | |||||
"hashes": [ | |||||
"sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", | |||||
"sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" | |||||
], | |||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", | |||||
"version": "==1.16.0" | |||||
}, | |||||
"skyfield": { | |||||
"hashes": [ | |||||
"sha256:3447fd3a9a9dabc2080e6a4efb56d9883decf261ad78e6c9b3f187c4fc761ace" | |||||
], | |||||
"version": "==1.42" | |||||
}, | |||||
"skyfield-data": { | |||||
"hashes": [ | |||||
"sha256:128d407e43a04be66c44b03914f9147b5e65b96078db776e6a4f5538ab0b74bf", | |||||
"sha256:bd81bf9032d4833a766f4127e868d62674083ca2ccaea07e6d025e132c9c574e" | |||||
], | |||||
"markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5' and python_version < '4'", | |||||
"version": "==4.0.0" | |||||
}, | |||||
"tabulate": { | |||||
"hashes": [ | |||||
"sha256:d7c013fe7abbc5e491394e10fa845f8f32fe54f8dc60c6622c6cf482d25d47e4", | |||||
"sha256:eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7" | |||||
], | |||||
"index": "pypi", | |||||
"version": "==0.8.9" | |||||
}, | |||||
"termcolor": { | |||||
"hashes": [ | |||||
"sha256:1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b" | |||||
], | |||||
"index": "pypi", | |||||
"version": "==1.1.0" | |||||
} | |||||
}, | |||||
"develop": { | |||||
"attrs": { | |||||
"hashes": [ | |||||
"sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4", | |||||
"sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd" | |||||
], | |||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", | |||||
"version": "==21.4.0" | |||||
}, | |||||
"aurornis": { | |||||
"hashes": [ | |||||
"sha256:660b57e9d1701d88fb7cc4af3118c927e9e001d2ab39cb145695eb8470f4642a", | |||||
"sha256:bc68845be5cdf2d69d26c677214f7435365967b4a65dc3772ab05353b2136d95" | |||||
], | |||||
"index": "pypi", | |||||
"version": "==1.2.0" | |||||
}, | |||||
"black": { | |||||
"hashes": [ | |||||
"sha256:07e5c049442d7ca1a2fc273c79d1aecbbf1bc858f62e8184abe1ad175c4f7cc2", | |||||
"sha256:0e21e1f1efa65a50e3960edd068b6ae6d64ad6235bd8bfea116a03b21836af71", | |||||
"sha256:1297c63b9e1b96a3d0da2d85d11cd9bf8664251fd69ddac068b98dc4f34f73b6", | |||||
"sha256:228b5ae2c8e3d6227e4bde5920d2fc66cc3400fde7bcc74f480cb07ef0b570d5", | |||||
"sha256:2d6f331c02f0f40aa51a22e479c8209d37fcd520c77721c034517d44eecf5912", | |||||
"sha256:2ff96450d3ad9ea499fc4c60e425a1439c2120cbbc1ab959ff20f7c76ec7e866", | |||||
"sha256:3524739d76b6b3ed1132422bf9d82123cd1705086723bc3e235ca39fd21c667d", | |||||
"sha256:35944b7100af4a985abfcaa860b06af15590deb1f392f06c8683b4381e8eeaf0", | |||||
"sha256:373922fc66676133ddc3e754e4509196a8c392fec3f5ca4486673e685a421321", | |||||
"sha256:5fa1db02410b1924b6749c245ab38d30621564e658297484952f3d8a39fce7e8", | |||||
"sha256:6f2f01381f91c1efb1451998bd65a129b3ed6f64f79663a55fe0e9b74a5f81fd", | |||||
"sha256:742ce9af3086e5bd07e58c8feb09dbb2b047b7f566eb5f5bc63fd455814979f3", | |||||
"sha256:7835fee5238fc0a0baf6c9268fb816b5f5cd9b8793423a75e8cd663c48d073ba", | |||||
"sha256:8871fcb4b447206904932b54b567923e5be802b9b19b744fdff092bd2f3118d0", | |||||
"sha256:a7c0192d35635f6fc1174be575cb7915e92e5dd629ee79fdaf0dcfa41a80afb5", | |||||
"sha256:b1a5ed73ab4c482208d20434f700d514f66ffe2840f63a6252ecc43a9bc77e8a", | |||||
"sha256:c8226f50b8c34a14608b848dc23a46e5d08397d009446353dad45e04af0c8e28", | |||||
"sha256:ccad888050f5393f0d6029deea2a33e5ae371fd182a697313bdbd835d3edaf9c", | |||||
"sha256:dae63f2dbf82882fa3b2a3c49c32bffe144970a573cd68d247af6560fc493ae1", | |||||
"sha256:e2f69158a7d120fd641d1fa9a921d898e20d52e44a74a6fbbcc570a62a6bc8ab", | |||||
"sha256:efbadd9b52c060a8fc3b9658744091cb33c31f830b3f074422ed27bad2b18e8f", | |||||
"sha256:f5660feab44c2e3cb24b2419b998846cbb01c23c7fe645fee45087efa3da2d61", | |||||
"sha256:fdb8754b453fb15fad3f72cd9cad3e16776f0964d67cf30ebcbf10327a3777a3" | |||||
], | |||||
"index": "pypi", | |||||
"version": "==22.1.0" | |||||
}, | |||||
"click": { | |||||
"hashes": [ | |||||
"sha256:6a7a62563bbfabfda3a38f3023a1db4a35978c0abd76f6c9605ecd6554d6d9b1", | |||||
"sha256:8458d7b1287c5fb128c90e23381cf99dcde74beaf6c7ff6384ce84d6fe090adb" | |||||
], | |||||
"markers": "python_version >= '3.6'", | |||||
"version": "==8.0.4" | |||||
}, | |||||
"iniconfig": { | |||||
"hashes": [ | |||||
"sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3", | |||||
"sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32" | |||||
], | |||||
"version": "==1.1.1" | |||||
}, | |||||
"mypy-extensions": { | |||||
"hashes": [ | |||||
"sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d", | |||||
"sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8" | |||||
], | |||||
"version": "==0.4.3" | |||||
}, | |||||
"packaging": { | |||||
"hashes": [ | |||||
"sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb", | |||||
"sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522" | |||||
], | |||||
"markers": "python_version >= '3.6'", | |||||
"version": "==21.3" | |||||
}, | |||||
"pathspec": { | |||||
"hashes": [ | |||||
"sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a", | |||||
"sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1" | |||||
], | |||||
"version": "==0.9.0" | |||||
}, | |||||
"platformdirs": { | |||||
"hashes": [ | |||||
"sha256:7535e70dfa32e84d4b34996ea99c5e432fa29a708d0f4e394bbcb2a8faa4f16d", | |||||
"sha256:bcae7cab893c2d310a711b70b24efb93334febe65f8de776ee320b517471e227" | |||||
], | |||||
"markers": "python_version >= '3.7'", | |||||
"version": "==2.5.1" | |||||
}, | |||||
"pluggy": { | |||||
"hashes": [ | |||||
"sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159", | |||||
"sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3" | |||||
], | |||||
"markers": "python_version >= '3.6'", | |||||
"version": "==1.0.0" | |||||
}, | |||||
"py": { | |||||
"hashes": [ | |||||
"sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719", | |||||
"sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378" | |||||
], | |||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", | |||||
"version": "==1.11.0" | |||||
}, | |||||
"pyparsing": { | |||||
"hashes": [ | |||||
"sha256:18ee9022775d270c55187733956460083db60b37d0d0fb357445f3094eed3eea", | |||||
"sha256:a6c06a88f252e6c322f65faf8f418b16213b51bdfaece0524c1c1bc30c63c484" | |||||
], | |||||
"markers": "python_version >= '3.6'", | |||||
"version": "==3.0.7" | |||||
}, | |||||
"pytest": { | |||||
"hashes": [ | |||||
"sha256:841132caef6b1ad17a9afde46dc4f6cfa59a05f9555aae5151f73bdf2820ca63", | |||||
"sha256:92f723789a8fdd7180b6b06483874feca4c48a5c76968e03bb3e7f806a1869ea" | |||||
], | |||||
"index": "pypi", | |||||
"version": "==7.1.1" | |||||
}, | |||||
"tomli": { | |||||
"hashes": [ | |||||
"sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", | |||||
"sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" | |||||
], | |||||
"markers": "python_version >= '3.7'", | |||||
"version": "==2.0.1" | |||||
} | |||||
} | |||||
} |
@@ -1,5 +1,5 @@ | |||||
# ![Kosmorro](https://raw.githubusercontent.com/Kosmorro/logos/main/png/kosmorro-logo-grey.png) | # ![Kosmorro](https://raw.githubusercontent.com/Kosmorro/logos/main/png/kosmorro-logo-grey.png) | ||||
[![Coverage Status](https://coveralls.io/repos/github/Kosmorro/kosmorro/badge.svg?branch=master)](https://coveralls.io/github/Kosmorro/kosmorro?branch=master) [![Version on PyPI](https://img.shields.io/pypi/v/kosmorro)](https://pypi.org/project/kosmorro) [![Packaging status](https://repology.org/badge/tiny-repos/kosmorro.svg)](https://repology.org/project/kosmorro/versions) [![Docker Pulls](https://img.shields.io/docker/pulls/kosmorro/kosmorro)](https://hub.docker.com/r/kosmorro/kosmorro) [![Help translating Kosmorro!](https://hosted.weblate.org/widgets/kosmorro/-/cli/svg-badge.svg)](https://hosted.weblate.org/engage/kosmorro/) | |||||
[![Coverage Status](https://coveralls.io/repos/github/Kosmorro/kosmorro/badge.svg?branch=master)](https://coveralls.io/github/Kosmorro/kosmorro?branch=master) [![Version on PyPI](https://img.shields.io/pypi/v/kosmorro)](https://pypi.org/project/kosmorro) [![Packaging status](https://repology.org/badge/tiny-repos/kosmorro.svg)](https://repology.org/project/kosmorro/versions) [![Help translating Kosmorro!](https://hosted.weblate.org/widgets/kosmorro/-/cli/svg-badge.svg)](https://hosted.weblate.org/engage/kosmorro/) | |||||
A program that calculates your astronomical ephemerides! | A program that calculates your astronomical ephemerides! | ||||
@@ -17,12 +17,12 @@ Before you run Kosmorro in your development environment, check you have installe | |||||
- Python ≥ 3.7.0 (needed run Kosmorro) | - Python ≥ 3.7.0 (needed run Kosmorro) | ||||
- PIP3 (needed for package management, usually installed among with Python 3) | - PIP3 (needed for package management, usually installed among with Python 3) | ||||
- [Pipenv](https://pypi.org/project/pipenv/) (needed to manage the virtual environment) | |||||
- [Poetry](https://python-poetry.org/) (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`. | |||||
Clone this repository and run `poetry install` to install all the dependencies. | |||||
Then, run Kosmorro by invoking `poetry run python kosmorro`. | |||||
For comfort, you may want to invoke `pipenv shell` first and then just `python kosmoro`. | |||||
For comfort, you may want to invoke `poetry shell` first and then just `python kosmoro`. | |||||
## Using Kosmorro | ## Using Kosmorro | ||||
@@ -1,26 +0,0 @@ | |||||
#!/usr/bin/env python3 | |||||
# Kosmorro - Compute The Next Ephemerides | |||||
# Copyright (C) 2019 Jérôme Deuchnord <jerome@deuchnord.fr> | |||||
# | |||||
# This program is free software: you can redistribute it and/or modify | |||||
# it under the terms of the GNU Affero General Public License as | |||||
# published by the Free Software Foundation, either version 3 of the | |||||
# License, or (at your option) any later version. | |||||
# | |||||
# This program is distributed in the hope that it will be useful, | |||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
# GNU Affero General Public License for more details. | |||||
# | |||||
# You should have received a copy of the GNU Affero General Public License | |||||
# along with this program. If not, see <https://www.gnu.org/licenses/>. | |||||
import sys | |||||
from _kosmorro.main import main | |||||
if __name__ == "__main__": | |||||
try: | |||||
sys.exit(main()) | |||||
except KeyboardInterrupt: | |||||
sys.exit(1) |
@@ -30,10 +30,10 @@ from .date import parse_date | |||||
from .utils import colored, set_colors_activated | from .utils import colored, set_colors_activated | ||||
from .__version__ import __version__ as kosmorro_version | from .__version__ import __version__ as kosmorro_version | ||||
from .exceptions import UnavailableFeatureError, OutOfRangeDateError as DateRangeError | from .exceptions import UnavailableFeatureError, OutOfRangeDateError as DateRangeError | ||||
from _kosmorro.i18n.utils import _, SHORT_DATE_FORMAT | |||||
from kosmorro.i18n.utils import _ | |||||
def main(): | |||||
def run(): | |||||
env_vars = environment.get_env_vars() | env_vars = environment.get_env_vars() | ||||
output_formats = get_dumpers() | output_formats = get_dumpers() | ||||
args = get_args(list(output_formats.keys())) | args = get_args(list(output_formats.keys())) | ||||
@@ -312,3 +312,7 @@ def get_args(output_formats: [str]): | |||||
) | ) | ||||
return parser.parse_args() | return parser.parse_args() | ||||
def main(): | |||||
sys.exit(run()) |
@@ -5,7 +5,7 @@ import re | |||||
from dateutil.relativedelta import relativedelta | from dateutil.relativedelta import relativedelta | ||||
from datetime import date | from datetime import date | ||||
from _kosmorro.i18n.utils import _ | |||||
from kosmorro.i18n.utils import _ | |||||
def parse_date(date_arg: str) -> date: | def parse_date(date_arg: str) -> date: |
@@ -18,7 +18,7 @@ | |||||
from datetime import date | from datetime import date | ||||
from babel.dates import format_date | from babel.dates import format_date | ||||
from _kosmorro.i18n.utils import _, SHORT_DATE_FORMAT | |||||
from kosmorro.i18n.utils import _, SHORT_DATE_FORMAT | |||||
class UnavailableFeatureError(RuntimeError): | class UnavailableFeatureError(RuntimeError): |
@@ -8,7 +8,7 @@ msgid "" | |||||
msgstr "" | msgstr "" | ||||
"Project-Id-Version: PROJECT VERSION\n" | "Project-Id-Version: PROJECT VERSION\n" | ||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" | "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" | ||||
"POT-Creation-Date: 2022-03-07 16:45+0100\n" | |||||
"POT-Creation-Date: 2022-03-19 13:28+0100\n" | |||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | ||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | ||||
"Language-Team: LANGUAGE <LL@li.org>\n" | "Language-Team: LANGUAGE <LL@li.org>\n" | ||||
@@ -17,315 +17,315 @@ msgstr "" | |||||
"Content-Transfer-Encoding: 8bit\n" | "Content-Transfer-Encoding: 8bit\n" | ||||
"Generated-By: Babel 2.9.1\n" | "Generated-By: Babel 2.9.1\n" | ||||
#: _kosmorro/date.py:17 | |||||
msgid "The date {date} is not valid: {error}" | |||||
#: kosmorro/__main__.py:63 | |||||
msgid "" | |||||
"Save the planet and paper!\n" | |||||
"Consider printing your PDF document only if really necessary, and use the" | |||||
" other side of the sheet." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/date.py:39 | |||||
#: kosmorro/__main__.py:72 | |||||
msgid "" | msgid "" | ||||
"The date {date} does not match the required YYYY-MM-DD format or the " | |||||
"offset format." | |||||
"PDF output will not contain the ephemerides, because you didn't provide " | |||||
"the observation coordinates." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:137 | |||||
msgid "Expected events:" | |||||
#: kosmorro/__main__.py:117 | |||||
msgid "The file could not be saved in \"{path}\": {error}" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:144 | |||||
msgid "Note: All the hours are given in UTC." | |||||
#: kosmorro/__main__.py:131 | |||||
msgid "Please provide a file path to export in this format (--output)." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:151 | |||||
msgid "Note: All the hours are given in the UTC{offset} timezone." | |||||
#: kosmorro/__main__.py:164 | |||||
msgid "Moon phase can only be computed between {min_date} and {max_date}" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:205 _kosmorro/dumper.py:333 | |||||
msgid "Object" | |||||
#: kosmorro/__main__.py:203 | |||||
msgid "Running on Python {python_version} with Kosmorrolib v{kosmorrolib_version}" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:206 _kosmorro/dumper.py:334 | |||||
msgid "Rise time" | |||||
#: kosmorro/__main__.py:216 | |||||
msgid "" | |||||
"Compute the ephemerides and the events for a given date and a given " | |||||
"position on Earth." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:207 _kosmorro/dumper.py:336 | |||||
msgid "Culmination time" | |||||
#: kosmorro/__main__.py:219 | |||||
msgid "" | |||||
"By default, only the events will be computed for today.\n" | |||||
"To compute also the ephemerides, latitude and longitude arguments are " | |||||
"needed." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:208 _kosmorro/dumper.py:338 | |||||
msgid "Set time" | |||||
#: kosmorro/__main__.py:232 | |||||
msgid "Show the program version" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:234 | |||||
msgid "Moon phase is unavailable for this date." | |||||
#: kosmorro/__main__.py:240 | |||||
msgid "The format to output the information to" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:238 _kosmorro/dumper.py:342 | |||||
msgid "Moon phase:" | |||||
#: kosmorro/__main__.py:247 | |||||
msgid "" | |||||
"The observer's latitude on Earth. Can also be set in the " | |||||
"KOSMORRO_LATITUDE environment variable." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:242 | |||||
msgid "{next_moon_phase} on {next_moon_phase_date} at {next_moon_phase_time}" | |||||
#: kosmorro/__main__.py:257 | |||||
msgid "" | |||||
"The observer's longitude on Earth. Can also be set in the " | |||||
"KOSMORRO_LONGITUDE environment variable." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:306 | |||||
msgid "Overview of your sky" | |||||
#: kosmorro/__main__.py:267 | |||||
msgid "" | |||||
"The date for which the ephemerides must be calculated. Can be in the " | |||||
"YYYY-MM-DD format or an interval in the \"[+-]YyMmDd\" format (with Y, M," | |||||
" and D numbers). Defaults to current date." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:314 | |||||
#: kosmorro/__main__.py:278 | |||||
msgid "" | msgid "" | ||||
"This document summarizes the ephemerides and the events of {date}. It " | |||||
"aims to help you to prepare your observation session. All the hours are " | |||||
"given in {timezone}." | |||||
"The timezone to display the hours in (e.g. 2 for UTC+2 or -3 for UTC-3). " | |||||
"Can also be set in the KOSMORRO_TIMEZONE environment variable." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:324 | |||||
msgid "" | |||||
"Don't forget to check the weather forecast before you go out with your " | |||||
"equipment." | |||||
#: kosmorro/__main__.py:287 | |||||
msgid "Disable the colors in the console." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:331 | |||||
msgid "Ephemerides of the day" | |||||
#: kosmorro/__main__.py:294 | |||||
msgid "" | |||||
"A file to export the output to. If not given, the standard output is " | |||||
"used. This argument is needed for PDF format." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:340 | |||||
msgid "hours" | |||||
#: kosmorro/__main__.py:303 | |||||
msgid "" | |||||
"Do not generate a graph to represent the rise and set times in the PDF " | |||||
"format." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:347 | |||||
msgid "Expected events" | |||||
#: kosmorro/__main__.py:311 | |||||
msgid "Show debugging messages" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:487 | |||||
msgid "" | |||||
"Building PDF was not possible, because some dependencies are not " | |||||
"installed.\n" | |||||
"Please look at the documentation at https://kosmorro.space/cli/generate-" | |||||
"pdf/ for more information." | |||||
#: kosmorro/date.py:17 | |||||
msgid "The date {date} is not valid: {error}" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/dumper.py:540 | |||||
#, python-format | |||||
#: kosmorro/date.py:39 | |||||
msgid "" | msgid "" | ||||
"An error occurred during the compilation of the PDF.\n" | |||||
"Please open an issue at https://github.com/Kosmorro/kosmorro/issues and " | |||||
"share the content of the log file at /tmp/kosmorro-%s.log" | |||||
"The date {date} does not match the required YYYY-MM-DD format or the " | |||||
"offset format." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/exceptions.py:35 | |||||
msgid "The date must be between {minimum_date} and {maximum_date}" | |||||
#: kosmorro/dumper.py:137 | |||||
msgid "Expected events:" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:63 | |||||
msgid "" | |||||
"Save the planet and paper!\n" | |||||
"Consider printing your PDF document only if really necessary, and use the" | |||||
" other side of the sheet." | |||||
#: kosmorro/dumper.py:144 | |||||
msgid "Note: All the hours are given in UTC." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:72 | |||||
msgid "" | |||||
"PDF output will not contain the ephemerides, because you didn't provide " | |||||
"the observation coordinates." | |||||
#: kosmorro/dumper.py:151 | |||||
msgid "Note: All the hours are given in the UTC{offset} timezone." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:117 | |||||
msgid "The file could not be saved in \"{path}\": {error}" | |||||
#: kosmorro/dumper.py:205 kosmorro/dumper.py:333 | |||||
msgid "Object" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:131 | |||||
msgid "Please provide a file path to export in this format (--output)." | |||||
#: kosmorro/dumper.py:206 kosmorro/dumper.py:334 | |||||
msgid "Rise time" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:164 | |||||
msgid "Moon phase can only be computed between {min_date} and {max_date}" | |||||
#: kosmorro/dumper.py:207 kosmorro/dumper.py:336 | |||||
msgid "Culmination time" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:203 | |||||
msgid "Running on Python {python_version} with Kosmorrolib v{kosmorrolib_version}" | |||||
#: kosmorro/dumper.py:208 kosmorro/dumper.py:338 | |||||
msgid "Set time" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:216 | |||||
msgid "" | |||||
"Compute the ephemerides and the events for a given date and a given " | |||||
"position on Earth." | |||||
#: kosmorro/dumper.py:234 | |||||
msgid "Moon phase is unavailable for this date." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:219 | |||||
msgid "" | |||||
"By default, only the events will be computed for today.\n" | |||||
"To compute also the ephemerides, latitude and longitude arguments are " | |||||
"needed." | |||||
#: kosmorro/dumper.py:238 kosmorro/dumper.py:342 | |||||
msgid "Moon phase:" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:232 | |||||
msgid "Show the program version" | |||||
#: kosmorro/dumper.py:242 | |||||
msgid "{next_moon_phase} on {next_moon_phase_date} at {next_moon_phase_time}" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:240 | |||||
msgid "The format to output the information to" | |||||
#: kosmorro/dumper.py:306 | |||||
msgid "Overview of your sky" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:247 | |||||
#: kosmorro/dumper.py:314 | |||||
msgid "" | msgid "" | ||||
"The observer's latitude on Earth. Can also be set in the " | |||||
"KOSMORRO_LATITUDE environment variable." | |||||
"This document summarizes the ephemerides and the events of {date}. It " | |||||
"aims to help you to prepare your observation session. All the hours are " | |||||
"given in {timezone}." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:257 | |||||
#: kosmorro/dumper.py:324 | |||||
msgid "" | msgid "" | ||||
"The observer's longitude on Earth. Can also be set in the " | |||||
"KOSMORRO_LONGITUDE environment variable." | |||||
"Don't forget to check the weather forecast before you go out with your " | |||||
"equipment." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:267 | |||||
msgid "" | |||||
"The date for which the ephemerides must be calculated. Can be in the " | |||||
"YYYY-MM-DD format or an interval in the \"[+-]YyMmDd\" format (with Y, M," | |||||
" and D numbers). Defaults to current date." | |||||
#: kosmorro/dumper.py:331 | |||||
msgid "Ephemerides of the day" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:278 | |||||
msgid "" | |||||
"The timezone to display the hours in (e.g. 2 for UTC+2 or -3 for UTC-3). " | |||||
"Can also be set in the KOSMORRO_TIMEZONE environment variable." | |||||
#: kosmorro/dumper.py:340 | |||||
msgid "hours" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:287 | |||||
msgid "Disable the colors in the console." | |||||
#: kosmorro/dumper.py:347 | |||||
msgid "Expected events" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:294 | |||||
#: kosmorro/dumper.py:487 | |||||
msgid "" | msgid "" | ||||
"A file to export the output to. If not given, the standard output is " | |||||
"used. This argument is needed for PDF format." | |||||
"Building PDF was not possible, because some dependencies are not " | |||||
"installed.\n" | |||||
"Please look at the documentation at https://kosmorro.space/cli/generate-" | |||||
"pdf/ for more information." | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:303 | |||||
#: kosmorro/dumper.py:540 | |||||
#, python-format | |||||
msgid "" | msgid "" | ||||
"Do not generate a graph to represent the rise and set times in the PDF " | |||||
"format." | |||||
"An error occurred during the compilation of the PDF.\n" | |||||
"Please open an issue at https://github.com/Kosmorro/kosmorro/issues and " | |||||
"share the content of the log file at /tmp/kosmorro-%s.log" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/main.py:311 | |||||
msgid "Show debugging messages" | |||||
#: kosmorro/exceptions.py:35 | |||||
msgid "The date must be between {minimum_date} and {maximum_date}" | |||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:11 | |||||
#: kosmorro/i18n/strings.py:11 | |||||
#, python-format | #, python-format | ||||
msgid "%s is in opposition" | msgid "%s is in opposition" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:12 | |||||
#: kosmorro/i18n/strings.py:12 | |||||
#, python-format | #, python-format | ||||
msgid "%s and %s are in conjunction" | msgid "%s and %s are in conjunction" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:13 | |||||
#: kosmorro/i18n/strings.py:13 | |||||
#, python-format | #, python-format | ||||
msgid "%s occults %s" | msgid "%s occults %s" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:15 | |||||
#: kosmorro/i18n/strings.py:15 | |||||
#, python-format | #, python-format | ||||
msgid "Elongation of %s is maximal" | msgid "Elongation of %s is maximal" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:18 | |||||
#: kosmorro/i18n/strings.py:18 | |||||
#, python-format | #, python-format | ||||
msgid "%s is at its perigee" | msgid "%s is at its perigee" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:19 | |||||
#: kosmorro/i18n/strings.py:19 | |||||
#, python-format | #, python-format | ||||
msgid "%s is at its apogee" | msgid "%s is at its apogee" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:35 | |||||
#: kosmorro/i18n/strings.py:35 | |||||
msgid "New Moon" | msgid "New Moon" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:36 | |||||
#: kosmorro/i18n/strings.py:36 | |||||
msgid "Waxing Crescent" | msgid "Waxing Crescent" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:37 | |||||
#: kosmorro/i18n/strings.py:37 | |||||
msgid "First Quarter" | msgid "First Quarter" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:38 | |||||
#: kosmorro/i18n/strings.py:38 | |||||
msgid "Waxing Gibbous" | msgid "Waxing Gibbous" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:39 | |||||
#: kosmorro/i18n/strings.py:39 | |||||
msgid "Full Moon" | msgid "Full Moon" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:40 | |||||
#: kosmorro/i18n/strings.py:40 | |||||
msgid "Waning Gibbous" | msgid "Waning Gibbous" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:41 | |||||
#: kosmorro/i18n/strings.py:41 | |||||
msgid "Last Quarter" | msgid "Last Quarter" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:42 | |||||
#: kosmorro/i18n/strings.py:42 | |||||
msgid "Waning Crescent" | msgid "Waning Crescent" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:53 | |||||
#: kosmorro/i18n/strings.py:53 | |||||
msgid "Sun" | msgid "Sun" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:54 | |||||
#: kosmorro/i18n/strings.py:54 | |||||
msgid "Moon" | msgid "Moon" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:55 | |||||
#: kosmorro/i18n/strings.py:55 | |||||
msgid "Mercury" | msgid "Mercury" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:56 | |||||
#: kosmorro/i18n/strings.py:56 | |||||
msgid "Venus" | msgid "Venus" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:57 | |||||
#: kosmorro/i18n/strings.py:57 | |||||
msgid "Mars" | msgid "Mars" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:58 | |||||
#: kosmorro/i18n/strings.py:58 | |||||
msgid "Jupiter" | msgid "Jupiter" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:59 | |||||
#: kosmorro/i18n/strings.py:59 | |||||
msgid "Saturn" | msgid "Saturn" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:60 | |||||
#: kosmorro/i18n/strings.py:60 | |||||
msgid "Uranus" | msgid "Uranus" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:61 | |||||
#: kosmorro/i18n/strings.py:61 | |||||
msgid "Neptune" | msgid "Neptune" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/strings.py:62 | |||||
#: kosmorro/i18n/strings.py:62 | |||||
msgid "Pluto" | msgid "Pluto" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/utils.py:27 | |||||
#: kosmorro/i18n/utils.py:27 | |||||
msgid "{day_of_week} {month} {day_number}, {year}" | msgid "{day_of_week} {month} {day_number}, {year}" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/utils.py:30 | |||||
#: kosmorro/i18n/utils.py:30 | |||||
msgid "{month} {day_number}, {hours}:{minutes}" | msgid "{month} {day_number}, {hours}:{minutes}" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/utils.py:33 | |||||
#: kosmorro/i18n/utils.py:33 | |||||
msgid "{month} {day_number}, {year}" | msgid "{month} {day_number}, {year}" | ||||
msgstr "" | msgstr "" | ||||
#: _kosmorro/i18n/utils.py:36 | |||||
#: kosmorro/i18n/utils.py:36 | |||||
msgid "{hours}:{minutes}" | msgid "{hours}:{minutes}" | ||||
msgstr "" | msgstr "" | ||||
@@ -0,0 +1,576 @@ | |||||
[[package]] | |||||
name = "atomicwrites" | |||||
version = "1.4.0" | |||||
description = "Atomic file writes." | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" | |||||
[[package]] | |||||
name = "attrs" | |||||
version = "21.4.0" | |||||
description = "Classes Without Boilerplate" | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" | |||||
[package.extras] | |||||
dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"] | |||||
docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] | |||||
tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "cloudpickle"] | |||||
tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "cloudpickle"] | |||||
[[package]] | |||||
name = "aurornis" | |||||
version = "1.2.0" | |||||
description = "The Command Line Program Test Helper" | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = ">=3.7" | |||||
[[package]] | |||||
name = "babel" | |||||
version = "2.9.1" | |||||
description = "Internationalization utilities" | |||||
category = "main" | |||||
optional = false | |||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" | |||||
[package.dependencies] | |||||
pytz = ">=2015.7" | |||||
[[package]] | |||||
name = "black" | |||||
version = "21.12b0" | |||||
description = "The uncompromising code formatter." | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = ">=3.6.2" | |||||
[package.dependencies] | |||||
click = ">=7.1.2" | |||||
mypy-extensions = ">=0.4.3" | |||||
pathspec = ">=0.9.0,<1" | |||||
platformdirs = ">=2" | |||||
tomli = ">=0.2.6,<2.0.0" | |||||
typed-ast = {version = ">=1.4.2", markers = "python_version < \"3.8\" and implementation_name == \"cpython\""} | |||||
typing-extensions = [ | |||||
{version = ">=3.10.0.0", markers = "python_version < \"3.10\""}, | |||||
{version = "!=3.10.0.1", markers = "python_version >= \"3.10\""}, | |||||
] | |||||
[package.extras] | |||||
colorama = ["colorama (>=0.4.3)"] | |||||
d = ["aiohttp (>=3.7.4)"] | |||||
jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] | |||||
python2 = ["typed-ast (>=1.4.3)"] | |||||
uvloop = ["uvloop (>=0.15.2)"] | |||||
[[package]] | |||||
name = "certifi" | |||||
version = "2021.10.8" | |||||
description = "Python package for providing Mozilla's CA Bundle." | |||||
category = "main" | |||||
optional = false | |||||
python-versions = "*" | |||||
[[package]] | |||||
name = "click" | |||||
version = "8.0.4" | |||||
description = "Composable command line interface toolkit" | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = ">=3.6" | |||||
[package.dependencies] | |||||
colorama = {version = "*", markers = "platform_system == \"Windows\""} | |||||
importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} | |||||
[[package]] | |||||
name = "colorama" | |||||
version = "0.4.4" | |||||
description = "Cross-platform colored terminal text." | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" | |||||
[[package]] | |||||
name = "importlib-metadata" | |||||
version = "4.11.3" | |||||
description = "Read metadata from Python packages" | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = ">=3.7" | |||||
[package.dependencies] | |||||
typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} | |||||
zipp = ">=0.5" | |||||
[package.extras] | |||||
docs = ["sphinx", "jaraco.packaging (>=9)", "rst.linker (>=1.9)"] | |||||
perf = ["ipython"] | |||||
testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)", "importlib-resources (>=1.3)"] | |||||
[[package]] | |||||
name = "iniconfig" | |||||
version = "1.1.1" | |||||
description = "iniconfig: brain-dead simple config-ini parsing" | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = "*" | |||||
[[package]] | |||||
name = "jplephem" | |||||
version = "2.17" | |||||
description = "Use a JPL ephemeris to predict planet positions." | |||||
category = "main" | |||||
optional = false | |||||
python-versions = "*" | |||||
[package.dependencies] | |||||
numpy = "*" | |||||
[[package]] | |||||
name = "kosmorrolib" | |||||
version = "1.0.6" | |||||
description = "A library to computes the ephemerides." | |||||
category = "main" | |||||
optional = false | |||||
python-versions = ">=3.7,<3.11" | |||||
[package.dependencies] | |||||
python-dateutil = ">=2.8,<3.0" | |||||
skyfield = ">=1.21,<2.0" | |||||
skyfield-data = ">=3,<5" | |||||
[[package]] | |||||
name = "mypy-extensions" | |||||
version = "0.4.3" | |||||
description = "Experimental type system extensions for programs checked with the mypy typechecker." | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = "*" | |||||
[[package]] | |||||
name = "numpy" | |||||
version = "1.21.5" | |||||
description = "NumPy is the fundamental package for array computing with Python." | |||||
category = "main" | |||||
optional = false | |||||
python-versions = ">=3.7,<3.11" | |||||
[[package]] | |||||
name = "packaging" | |||||
version = "21.3" | |||||
description = "Core utilities for Python packages" | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = ">=3.6" | |||||
[package.dependencies] | |||||
pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" | |||||
[[package]] | |||||
name = "pathspec" | |||||
version = "0.9.0" | |||||
description = "Utility library for gitignore style pattern matching of file paths." | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" | |||||
[[package]] | |||||
name = "platformdirs" | |||||
version = "2.5.1" | |||||
description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = ">=3.7" | |||||
[package.extras] | |||||
docs = ["Sphinx (>=4)", "furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx-autodoc-typehints (>=1.12)"] | |||||
test = ["appdirs (==1.4.4)", "pytest (>=6)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)"] | |||||
[[package]] | |||||
name = "pluggy" | |||||
version = "1.0.0" | |||||
description = "plugin and hook calling mechanisms for python" | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = ">=3.6" | |||||
[package.dependencies] | |||||
importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} | |||||
[package.extras] | |||||
dev = ["pre-commit", "tox"] | |||||
testing = ["pytest", "pytest-benchmark"] | |||||
[[package]] | |||||
name = "py" | |||||
version = "1.11.0" | |||||
description = "library with cross-python path, ini-parsing, io, code, log facilities" | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" | |||||
[[package]] | |||||
name = "pyparsing" | |||||
version = "3.0.7" | |||||
description = "Python parsing module" | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = ">=3.6" | |||||
[package.extras] | |||||
diagrams = ["jinja2", "railroad-diagrams"] | |||||
[[package]] | |||||
name = "pytest" | |||||
version = "7.1.1" | |||||
description = "pytest: simple powerful testing with Python" | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = ">=3.7" | |||||
[package.dependencies] | |||||
atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} | |||||
attrs = ">=19.2.0" | |||||
colorama = {version = "*", markers = "sys_platform == \"win32\""} | |||||
importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} | |||||
iniconfig = "*" | |||||
packaging = "*" | |||||
pluggy = ">=0.12,<2.0" | |||||
py = ">=1.8.2" | |||||
tomli = ">=1.0.0" | |||||
[package.extras] | |||||
testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] | |||||
[[package]] | |||||
name = "python-dateutil" | |||||
version = "2.8.2" | |||||
description = "Extensions to the standard Python datetime module" | |||||
category = "main" | |||||
optional = false | |||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" | |||||
[package.dependencies] | |||||
six = ">=1.5" | |||||
[[package]] | |||||
name = "pytz" | |||||
version = "2021.3" | |||||
description = "World timezone definitions, modern and historical" | |||||
category = "main" | |||||
optional = false | |||||
python-versions = "*" | |||||
[[package]] | |||||
name = "sgp4" | |||||
version = "2.20" | |||||
description = "Track Earth satellites given TLE data, using up-to-date 2020 SGP4 routines." | |||||
category = "main" | |||||
optional = false | |||||
python-versions = "*" | |||||
[[package]] | |||||
name = "six" | |||||
version = "1.16.0" | |||||
description = "Python 2 and 3 compatibility utilities" | |||||
category = "main" | |||||
optional = false | |||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" | |||||
[[package]] | |||||
name = "skyfield" | |||||
version = "1.42" | |||||
description = "Elegant astronomy for Python" | |||||
category = "main" | |||||
optional = false | |||||
python-versions = "*" | |||||
[package.dependencies] | |||||
certifi = ">=2017.4.17" | |||||
jplephem = ">=2.13" | |||||
numpy = "*" | |||||
sgp4 = ">=2.2" | |||||
[[package]] | |||||
name = "skyfield-data" | |||||
version = "4.0.0" | |||||
description = "Data package for Skyfield" | |||||
category = "main" | |||||
optional = false | |||||
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4" | |||||
[package.extras] | |||||
dev = ["jplephem", "numpy", "tox", "colorama", "termcolor"] | |||||
tests = ["pytest", "skyfield", "mock"] | |||||
[[package]] | |||||
name = "tabulate" | |||||
version = "0.8.9" | |||||
description = "Pretty-print tabular data" | |||||
category = "main" | |||||
optional = false | |||||
python-versions = "*" | |||||
[package.extras] | |||||
widechars = ["wcwidth"] | |||||
[[package]] | |||||
name = "termcolor" | |||||
version = "1.1.0" | |||||
description = "ANSII Color formatting for output in terminal." | |||||
category = "main" | |||||
optional = false | |||||
python-versions = "*" | |||||
[[package]] | |||||
name = "tomli" | |||||
version = "1.2.3" | |||||
description = "A lil' TOML parser" | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = ">=3.6" | |||||
[[package]] | |||||
name = "typed-ast" | |||||
version = "1.5.2" | |||||
description = "a fork of Python 2 and 3 ast modules with type comment support" | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = ">=3.6" | |||||
[[package]] | |||||
name = "typing-extensions" | |||||
version = "4.1.1" | |||||
description = "Backported and Experimental Type Hints for Python 3.6+" | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = ">=3.6" | |||||
[[package]] | |||||
name = "zipp" | |||||
version = "3.7.0" | |||||
description = "Backport of pathlib-compatible object wrapper for zip files" | |||||
category = "dev" | |||||
optional = false | |||||
python-versions = ">=3.7" | |||||
[package.extras] | |||||
docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] | |||||
testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] | |||||
[metadata] | |||||
lock-version = "1.1" | |||||
python-versions = ">=3.7,<3.11" | |||||
content-hash = "4c2045cb19d088e3205728efd723e8255ded94f211f21ca7f64aea90c05fe3ad" | |||||
[metadata.files] | |||||
atomicwrites = [ | |||||
{file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"}, | |||||
{file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"}, | |||||
] | |||||
attrs = [ | |||||
{file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"}, | |||||
{file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"}, | |||||
] | |||||
aurornis = [ | |||||
{file = "aurornis-1.2.0-py3-none-any.whl", hash = "sha256:660b57e9d1701d88fb7cc4af3118c927e9e001d2ab39cb145695eb8470f4642a"}, | |||||
{file = "aurornis-1.2.0.tar.gz", hash = "sha256:bc68845be5cdf2d69d26c677214f7435365967b4a65dc3772ab05353b2136d95"}, | |||||
] | |||||
babel = [ | |||||
{file = "Babel-2.9.1-py2.py3-none-any.whl", hash = "sha256:ab49e12b91d937cd11f0b67cb259a57ab4ad2b59ac7a3b41d6c06c0ac5b0def9"}, | |||||
{file = "Babel-2.9.1.tar.gz", hash = "sha256:bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0"}, | |||||
] | |||||
black = [ | |||||
{file = "black-21.12b0-py3-none-any.whl", hash = "sha256:a615e69ae185e08fdd73e4715e260e2479c861b5740057fde6e8b4e3b7dd589f"}, | |||||
{file = "black-21.12b0.tar.gz", hash = "sha256:77b80f693a569e2e527958459634f18df9b0ba2625ba4e0c2d5da5be42e6f2b3"}, | |||||
] | |||||
certifi = [ | |||||
{file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"}, | |||||
{file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"}, | |||||
] | |||||
click = [ | |||||
{file = "click-8.0.4-py3-none-any.whl", hash = "sha256:6a7a62563bbfabfda3a38f3023a1db4a35978c0abd76f6c9605ecd6554d6d9b1"}, | |||||
{file = "click-8.0.4.tar.gz", hash = "sha256:8458d7b1287c5fb128c90e23381cf99dcde74beaf6c7ff6384ce84d6fe090adb"}, | |||||
] | |||||
colorama = [ | |||||
{file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, | |||||
{file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, | |||||
] | |||||
importlib-metadata = [ | |||||
{file = "importlib_metadata-4.11.3-py3-none-any.whl", hash = "sha256:1208431ca90a8cca1a6b8af391bb53c1a2db74e5d1cef6ddced95d4b2062edc6"}, | |||||
{file = "importlib_metadata-4.11.3.tar.gz", hash = "sha256:ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539"}, | |||||
] | |||||
iniconfig = [ | |||||
{file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, | |||||
{file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"}, | |||||
] | |||||
jplephem = [ | |||||
{file = "jplephem-2.17.tar.gz", hash = "sha256:e1c6e5565c4d00485f1063241b4d1eff044585c22b8e97fad0ff2f6efb8aaa27"}, | |||||
] | |||||
kosmorrolib = [ | |||||
{file = "kosmorrolib-1.0.6-py3-none-any.whl", hash = "sha256:9ffbbaa8666c1222bf8a25d543afa72a0a80249017d342a6667bcae8657effc0"}, | |||||
{file = "kosmorrolib-1.0.6.tar.gz", hash = "sha256:8c77f40b346d183147cb3e927b3ea5c7d4d7067ce7e49edb73821566f74d5e51"}, | |||||
] | |||||
mypy-extensions = [ | |||||
{file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, | |||||
{file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, | |||||
] | |||||
numpy = [ | |||||
{file = "numpy-1.21.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:301e408a052fdcda5cdcf03021ebafc3c6ea093021bf9d1aa47c54d48bdad166"}, | |||||
{file = "numpy-1.21.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a7e8f6216f180f3fd4efb73de5d1eaefb5f5a1ee5b645c67333033e39440e63a"}, | |||||
{file = "numpy-1.21.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fc7a7d7b0ed72589fd8b8486b9b42a564f10b8762be8bd4d9df94b807af4a089"}, | |||||
{file = "numpy-1.21.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58ca1d7c8aef6e996112d0ce873ac9dfa1eaf4a1196b4ff7ff73880a09923ba7"}, | |||||
{file = "numpy-1.21.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc4b2fb01f1b4ddbe2453468ea0719f4dbb1f5caa712c8b21bb3dd1480cd30d9"}, | |||||
{file = "numpy-1.21.5-cp310-cp310-win_amd64.whl", hash = "sha256:cc1b30205d138d1005adb52087ff45708febbef0e420386f58664f984ef56954"}, | |||||
{file = "numpy-1.21.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:08de8472d9f7571f9d51b27b75e827f5296295fa78817032e84464be8bb905bc"}, | |||||
{file = "numpy-1.21.5-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:4fe6a006557b87b352c04596a6e3f12a57d6e5f401d804947bd3188e6b0e0e76"}, | |||||
{file = "numpy-1.21.5-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3d893b0871322eaa2f8c7072cdb552d8e2b27645b7875a70833c31e9274d4611"}, | |||||
{file = "numpy-1.21.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:341dddcfe3b7b6427a28a27baa59af5ad51baa59bfec3264f1ab287aa3b30b13"}, | |||||
{file = "numpy-1.21.5-cp37-cp37m-win32.whl", hash = "sha256:ca9c23848292c6fe0a19d212790e62f398fd9609aaa838859be8459bfbe558aa"}, | |||||
{file = "numpy-1.21.5-cp37-cp37m-win_amd64.whl", hash = "sha256:025b497014bc33fc23897859350f284323f32a2fff7654697f5a5fc2a19e9939"}, | |||||
{file = "numpy-1.21.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a5098df115340fb17fc93867317a947e1dcd978c3888c5ddb118366095851f8"}, | |||||
{file = "numpy-1.21.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:311283acf880cfcc20369201bd75da907909afc4666966c7895cbed6f9d2c640"}, | |||||
{file = "numpy-1.21.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b545ebadaa2b878c8630e5bcdb97fc4096e779f335fc0f943547c1c91540c815"}, | |||||
{file = "numpy-1.21.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c5562bcc1a9b61960fc8950ade44d00e3de28f891af0acc96307c73613d18f6e"}, | |||||
{file = "numpy-1.21.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:eed2afaa97ec33b4411995be12f8bdb95c87984eaa28d76cf628970c8a2d689a"}, | |||||
{file = "numpy-1.21.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:61bada43d494515d5b122f4532af226fdb5ee08fe5b5918b111279843dc6836a"}, | |||||
{file = "numpy-1.21.5-cp38-cp38-win32.whl", hash = "sha256:7b9d6b14fc9a4864b08d1ba57d732b248f0e482c7b2ff55c313137e3ed4d8449"}, | |||||
{file = "numpy-1.21.5-cp38-cp38-win_amd64.whl", hash = "sha256:dbce7adeb66b895c6aaa1fad796aaefc299ced597f6fbd9ceddb0dd735245354"}, | |||||
{file = "numpy-1.21.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:507c05c7a37b3683eb08a3ff993bd1ee1e6c752f77c2f275260533b265ecdb6c"}, | |||||
{file = "numpy-1.21.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:00c9fa73a6989895b8815d98300a20ac993c49ac36c8277e8ffeaa3631c0dbbb"}, | |||||
{file = "numpy-1.21.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:69a5a8d71c308d7ef33ef72371c2388a90e3495dbb7993430e674006f94797d5"}, | |||||
{file = "numpy-1.21.5-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2d8adfca843bc46ac199a4645233f13abf2011a0b2f4affc5c37cd552626f27b"}, | |||||
{file = "numpy-1.21.5-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c293d3c0321996cd8ffe84215ffe5d269fd9d1d12c6f4ffe2b597a7c30d3e593"}, | |||||
{file = "numpy-1.21.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c978544be9e04ed12016dd295a74283773149b48f507d69b36f91aa90a643e5"}, | |||||
{file = "numpy-1.21.5-cp39-cp39-win32.whl", hash = "sha256:2a9add27d7fc0fdb572abc3b2486eb3b1395da71e0254c5552b2aad2a18b5441"}, | |||||
{file = "numpy-1.21.5-cp39-cp39-win_amd64.whl", hash = "sha256:1964db2d4a00348b7a60ee9d013c8cb0c566644a589eaa80995126eac3b99ced"}, | |||||
{file = "numpy-1.21.5-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a7c4b701ca418cd39e28ec3b496e6388fe06de83f5f0cb74794fa31cfa384c02"}, | |||||
{file = "numpy-1.21.5.zip", hash = "sha256:6a5928bc6241264dce5ed509e66f33676fc97f464e7a919edc672fb5532221ee"}, | |||||
] | |||||
packaging = [ | |||||
{file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, | |||||
{file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, | |||||
] | |||||
pathspec = [ | |||||
{file = "pathspec-0.9.0-py2.py3-none-any.whl", hash = "sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a"}, | |||||
{file = "pathspec-0.9.0.tar.gz", hash = "sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1"}, | |||||
] | |||||
platformdirs = [ | |||||
{file = "platformdirs-2.5.1-py3-none-any.whl", hash = "sha256:bcae7cab893c2d310a711b70b24efb93334febe65f8de776ee320b517471e227"}, | |||||
{file = "platformdirs-2.5.1.tar.gz", hash = "sha256:7535e70dfa32e84d4b34996ea99c5e432fa29a708d0f4e394bbcb2a8faa4f16d"}, | |||||
] | |||||
pluggy = [ | |||||
{file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, | |||||
{file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, | |||||
] | |||||
py = [ | |||||
{file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, | |||||
{file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, | |||||
] | |||||
pyparsing = [ | |||||
{file = "pyparsing-3.0.7-py3-none-any.whl", hash = "sha256:a6c06a88f252e6c322f65faf8f418b16213b51bdfaece0524c1c1bc30c63c484"}, | |||||
{file = "pyparsing-3.0.7.tar.gz", hash = "sha256:18ee9022775d270c55187733956460083db60b37d0d0fb357445f3094eed3eea"}, | |||||
] | |||||
pytest = [ | |||||
{file = "pytest-7.1.1-py3-none-any.whl", hash = "sha256:92f723789a8fdd7180b6b06483874feca4c48a5c76968e03bb3e7f806a1869ea"}, | |||||
{file = "pytest-7.1.1.tar.gz", hash = "sha256:841132caef6b1ad17a9afde46dc4f6cfa59a05f9555aae5151f73bdf2820ca63"}, | |||||
] | |||||
python-dateutil = [ | |||||
{file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, | |||||
{file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, | |||||
] | |||||
pytz = [ | |||||
{file = "pytz-2021.3-py2.py3-none-any.whl", hash = "sha256:3672058bc3453457b622aab7a1c3bfd5ab0bdae451512f6cf25f64ed37f5b87c"}, | |||||
{file = "pytz-2021.3.tar.gz", hash = "sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326"}, | |||||
] | |||||
sgp4 = [ | |||||
{file = "sgp4-2.20-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b2169cd536355fc67e3870acea34c4fc22b2ccecab2c0bf45a01edfe646fe3d0"}, | |||||
{file = "sgp4-2.20-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:7d848698ae2bf5bb9ea2082640b0417175a6b2e6e8d580114ebe04265cd1bfb4"}, | |||||
{file = "sgp4-2.20-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:1d3b5abc07266203f4b453e7c1ca8403ef2d7b8d1779c14c9a4177e4b1558ba5"}, | |||||
{file = "sgp4-2.20-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:6c906973dc2966cba8065f359c3eaa18505280be8f625b54ebb98f5ddeb8d205"}, | |||||
{file = "sgp4-2.20-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:3e3eb29c308d30d010316832606af184d243d5aab8ccc5d589f3cb85d74471f7"}, | |||||
{file = "sgp4-2.20-cp36-cp36m-win32.whl", hash = "sha256:e73680b3b7b8b977766ae91eadd92988a0c3e36248dcac5d8263a957bec34a04"}, | |||||
{file = "sgp4-2.20-cp36-cp36m-win_amd64.whl", hash = "sha256:cf4d5ac32b5e84c7b420109a09ea3c3741844fa92776f79d1c852cc67e2c1364"}, | |||||
{file = "sgp4-2.20-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2a89fc1debacfa10cf55ae1d40472037a57687b1ae3b66e7196e5af53fb96a56"}, | |||||
{file = "sgp4-2.20-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:4d5eb2aff4f645f5020ac869ec453dcd807836b3eb8b459d569eda40c358cd76"}, | |||||
{file = "sgp4-2.20-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:2b449e6cab15748608c6083f86b0059d26093f76fa227010df09d8f0954b3bbd"}, | |||||
{file = "sgp4-2.20-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:8c2f4f99ab360a93768bf88ad6a9fdf83edfa6292e0a0ac8924c85fde11b2055"}, | |||||
{file = "sgp4-2.20-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:ee3688ae409a201107927b24be10db2a61efdd5a919737b4900c57ee8b3a22d6"}, | |||||
{file = "sgp4-2.20-cp37-cp37m-win32.whl", hash = "sha256:24477da85936b864fd765911f808a4d113c81189c2a0ecd5992bcdf9aecbf5ef"}, | |||||
{file = "sgp4-2.20-cp37-cp37m-win_amd64.whl", hash = "sha256:ee329571c1a25ce4f1e2b01d6f923791d16c5a7a3a75219317073bc50a7d25fe"}, | |||||
{file = "sgp4-2.20-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1af727dfe02ef32babd124644e96b8cc109b22142efb44e37d0e3aaf4c38a1ab"}, | |||||
{file = "sgp4-2.20-cp38-cp38-manylinux1_i686.whl", hash = "sha256:43c2c6d464144bb80987b2e66f3992add58c65e095abe2b9d567650fdb877a9d"}, | |||||
{file = "sgp4-2.20-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:67f99f534fdc5650d8efe516e77dd9b43e4cb8ab9b38f2b66484085c0ff75077"}, | |||||
{file = "sgp4-2.20-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:dfc5214b65ad8229c499f0da3f5042a18239f12f4318e90d892a79dcbf27282f"}, | |||||
{file = "sgp4-2.20-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:e8ecc01fdffe81f11ca94bb255024379e62c92f73e2baec2bdf5a3c3108221ff"}, | |||||
{file = "sgp4-2.20-cp38-cp38-win32.whl", hash = "sha256:06586caf071e3427bc4e5a5c84a806045532040dc2c35ca0ff12f34cab2ecb5c"}, | |||||
{file = "sgp4-2.20-cp38-cp38-win_amd64.whl", hash = "sha256:642bae76c6e55b72feda3c5ca3721e837f2702816a120805349b06e40f85faea"}, | |||||
{file = "sgp4-2.20-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dbfffe1ff2c223804e2ebdeb568baad46f40342943c4a74169fd75dc5dddda57"}, | |||||
{file = "sgp4-2.20-cp39-cp39-manylinux1_i686.whl", hash = "sha256:05f22b4fd91861ee2e0e03a528c1aef11a8b263a60ab5f723d32cdb65dac3eaa"}, | |||||
{file = "sgp4-2.20-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:80f9b2f1c2ac53c7b8cbf1a08e5a39a56c1b7c18d3e0de922078758a784b0b20"}, | |||||
{file = "sgp4-2.20-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:f5d2830f2896cecc4af0729cd328994ae823f277f481d4fc992383eb79f3742a"}, | |||||
{file = "sgp4-2.20-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:ea37423d4317ec5351a4e3b6a3947a6053978e5290549d77ba375459527f7ccb"}, | |||||
{file = "sgp4-2.20-cp39-cp39-win32.whl", hash = "sha256:d42a3dcdfd394c5059b99bbf8b35311e03e87d21fbfb6ba2d5c5d2dfad15d4d7"}, | |||||
{file = "sgp4-2.20-cp39-cp39-win_amd64.whl", hash = "sha256:876b82d41a859c9ff65d3bdb7f6a3cecfc63bea529b4dc751b06eefbd6c3f1e0"}, | |||||
{file = "sgp4-2.20.tar.gz", hash = "sha256:9fde328872f484eb644dabe32122ba617570ff61b548b7200a9d63629ac3097c"}, | |||||
] | |||||
six = [ | |||||
{file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, | |||||
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, | |||||
] | |||||
skyfield = [ | |||||
{file = "skyfield-1.42.tar.gz", hash = "sha256:3447fd3a9a9dabc2080e6a4efb56d9883decf261ad78e6c9b3f187c4fc761ace"}, | |||||
] | |||||
skyfield-data = [ | |||||
{file = "skyfield-data-4.0.0.tar.gz", hash = "sha256:128d407e43a04be66c44b03914f9147b5e65b96078db776e6a4f5538ab0b74bf"}, | |||||
{file = "skyfield_data-4.0.0-py2.py3-none-any.whl", hash = "sha256:bd81bf9032d4833a766f4127e868d62674083ca2ccaea07e6d025e132c9c574e"}, | |||||
] | |||||
tabulate = [ | |||||
{file = "tabulate-0.8.9-py3-none-any.whl", hash = "sha256:d7c013fe7abbc5e491394e10fa845f8f32fe54f8dc60c6622c6cf482d25d47e4"}, | |||||
{file = "tabulate-0.8.9.tar.gz", hash = "sha256:eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7"}, | |||||
] | |||||
termcolor = [ | |||||
{file = "termcolor-1.1.0.tar.gz", hash = "sha256:1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b"}, | |||||
] | |||||
tomli = [ | |||||
{file = "tomli-1.2.3-py3-none-any.whl", hash = "sha256:e3069e4be3ead9668e21cb9b074cd948f7b3113fd9c8bba083f48247aab8b11c"}, | |||||
{file = "tomli-1.2.3.tar.gz", hash = "sha256:05b6166bff487dc068d322585c7ea4ef78deed501cc124060e0f238e89a9231f"}, | |||||
] | |||||
typed-ast = [ | |||||
{file = "typed_ast-1.5.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:183b183b7771a508395d2cbffd6db67d6ad52958a5fdc99f450d954003900266"}, | |||||
{file = "typed_ast-1.5.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:676d051b1da67a852c0447621fdd11c4e104827417bf216092ec3e286f7da596"}, | |||||
{file = "typed_ast-1.5.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc2542e83ac8399752bc16e0b35e038bdb659ba237f4222616b4e83fb9654985"}, | |||||
{file = "typed_ast-1.5.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:74cac86cc586db8dfda0ce65d8bcd2bf17b58668dfcc3652762f3ef0e6677e76"}, | |||||
{file = "typed_ast-1.5.2-cp310-cp310-win_amd64.whl", hash = "sha256:18fe320f354d6f9ad3147859b6e16649a0781425268c4dde596093177660e71a"}, | |||||
{file = "typed_ast-1.5.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:31d8c6b2df19a777bc8826770b872a45a1f30cfefcfd729491baa5237faae837"}, | |||||
{file = "typed_ast-1.5.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:963a0ccc9a4188524e6e6d39b12c9ca24cc2d45a71cfdd04a26d883c922b4b78"}, | |||||
{file = "typed_ast-1.5.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:0eb77764ea470f14fcbb89d51bc6bbf5e7623446ac4ed06cbd9ca9495b62e36e"}, | |||||
{file = "typed_ast-1.5.2-cp36-cp36m-win_amd64.whl", hash = "sha256:294a6903a4d087db805a7656989f613371915fc45c8cc0ddc5c5a0a8ad9bea4d"}, | |||||
{file = "typed_ast-1.5.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:26a432dc219c6b6f38be20a958cbe1abffcc5492821d7e27f08606ef99e0dffd"}, | |||||
{file = "typed_ast-1.5.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7407cfcad702f0b6c0e0f3e7ab876cd1d2c13b14ce770e412c0c4b9728a0f88"}, | |||||
{file = "typed_ast-1.5.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f30ddd110634c2d7534b2d4e0e22967e88366b0d356b24de87419cc4410c41b7"}, | |||||
{file = "typed_ast-1.5.2-cp37-cp37m-win_amd64.whl", hash = "sha256:8c08d6625bb258179b6e512f55ad20f9dfef019bbfbe3095247401e053a3ea30"}, | |||||
{file = "typed_ast-1.5.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:90904d889ab8e81a956f2c0935a523cc4e077c7847a836abee832f868d5c26a4"}, | |||||
{file = "typed_ast-1.5.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:bbebc31bf11762b63bf61aaae232becb41c5bf6b3461b80a4df7e791fabb3aca"}, | |||||
{file = "typed_ast-1.5.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c29dd9a3a9d259c9fa19d19738d021632d673f6ed9b35a739f48e5f807f264fb"}, | |||||
{file = "typed_ast-1.5.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:58ae097a325e9bb7a684572d20eb3e1809802c5c9ec7108e85da1eb6c1a3331b"}, | |||||
{file = "typed_ast-1.5.2-cp38-cp38-win_amd64.whl", hash = "sha256:da0a98d458010bf4fe535f2d1e367a2e2060e105978873c04c04212fb20543f7"}, | |||||
{file = "typed_ast-1.5.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:33b4a19ddc9fc551ebabca9765d54d04600c4a50eda13893dadf67ed81d9a098"}, | |||||
{file = "typed_ast-1.5.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1098df9a0592dd4c8c0ccfc2e98931278a6c6c53cb3a3e2cf7e9ee3b06153344"}, | |||||
{file = "typed_ast-1.5.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42c47c3b43fe3a39ddf8de1d40dbbfca60ac8530a36c9b198ea5b9efac75c09e"}, | |||||
{file = "typed_ast-1.5.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f290617f74a610849bd8f5514e34ae3d09eafd521dceaa6cf68b3f4414266d4e"}, | |||||
{file = "typed_ast-1.5.2-cp39-cp39-win_amd64.whl", hash = "sha256:df05aa5b241e2e8045f5f4367a9f6187b09c4cdf8578bb219861c4e27c443db5"}, | |||||
{file = "typed_ast-1.5.2.tar.gz", hash = "sha256:525a2d4088e70a9f75b08b3f87a51acc9cde640e19cc523c7e41aa355564ae27"}, | |||||
] | |||||
typing-extensions = [ | |||||
{file = "typing_extensions-4.1.1-py3-none-any.whl", hash = "sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2"}, | |||||
{file = "typing_extensions-4.1.1.tar.gz", hash = "sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42"}, | |||||
] | |||||
zipp = [ | |||||
{file = "zipp-3.7.0-py3-none-any.whl", hash = "sha256:b47250dd24f92b7dd6a0a8fc5244da14608f3ca90a5efcd37a3b1642fac9a375"}, | |||||
{file = "zipp-3.7.0.tar.gz", hash = "sha256:9f50f446828eb9d45b267433fd3e9da8d801f614129124863f9c51ebceafb87d"}, | |||||
] |
@@ -0,0 +1,32 @@ | |||||
[tool.poetry] | |||||
name = "kosmorro" | |||||
version = "0.10.9" | |||||
description = "A program to compute the ephemerides." | |||||
authors = ["Jérôme Deuchnord <jerome@deuchnord.fr>"] | |||||
license = "AGPL-3.0-or-later" | |||||
include = [ | |||||
"CHANGELOG.md", | |||||
"kosmorro/locales/*/LC_MESSAGES/*.mo", | |||||
"kosmorro/assets", | |||||
] | |||||
[tool.poetry.scripts] | |||||
kosmorro = 'kosmorro.__main__:main' | |||||
[tool.poetry.dependencies] | |||||
python = ">=3.7,<3.11" | |||||
tabulate = "^0.8" | |||||
termcolor = "^1.1" | |||||
kosmorrolib = "^1.0" | |||||
python-dateutil = "^2.8" | |||||
Babel = "^2.9" | |||||
[tool.poetry.dev-dependencies] | |||||
black = "^21.12b0" | |||||
pytest = "^7.0" | |||||
aurornis = "^1.2" | |||||
[build-system] | |||||
requires = ["poetry-core>=1.0.0"] | |||||
build-backend = "poetry.core.masonry.api" |
@@ -2,11 +2,11 @@ | |||||
charset = utf-8 | charset = utf-8 | ||||
keywords = _ ngettext | keywords = _ ngettext | ||||
width = 120 | width = 120 | ||||
output_file = _kosmorro/locales/messages.pot | |||||
output_file = kosmorro/locales/messages.pot | |||||
omit_header = true | omit_header = true | ||||
copyright_holder = Jérôme Deuchnord | copyright_holder = Jérôme Deuchnord | ||||
input_paths=kosmorro,_kosmorro | |||||
input_paths=kosmorro | |||||
[compile_catalog] | [compile_catalog] | ||||
domain = messages | domain = messages | ||||
directory = _kosmorro/locales | |||||
directory = kosmorro/locales |
@@ -1,60 +0,0 @@ | |||||
#!/usr/bin/env python3 | |||||
# Kosmorro - Compute The Next Ephemerides | |||||
# Copyright (C) 2019 Jérôme Deuchnord <jerome@deuchnord.fr> | |||||
# | |||||
# This program is free software: you can redistribute it and/or modify | |||||
# it under the terms of the GNU Affero General Public License as | |||||
# published by the Free Software Foundation, either version 3 of the | |||||
# License, or (at your option) any later version. | |||||
# | |||||
# This program is distributed in the hope that it will be useful, | |||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
# GNU Affero General Public License for more details. | |||||
# | |||||
# You should have received a copy of the GNU Affero General Public License | |||||
# along with this program. If not, see <https://www.gnu.org/licenses/>. | |||||
import pathlib | |||||
from setuptools import setup, find_packages | |||||
from _kosmorro.__version__ import __version__ | |||||
HERE = pathlib.Path(__file__).parent | |||||
README = (HERE / "README.md").read_text() | |||||
setup( | |||||
name="kosmorro", | |||||
version=__version__, | |||||
author="Jérôme Deuchnord", | |||||
author_email="jerome@deuchnord.fr", | |||||
url="http://kosmorro.space", | |||||
license="AGPL-3.0", | |||||
description="A program that computes the ephemerides.", | |||||
long_description=README, | |||||
long_description_content_type="text/markdown", | |||||
keywords="kosmorro astronomy ephemerides ephemeris", | |||||
packages=find_packages(), | |||||
scripts=["kosmorro"], | |||||
include_package_data=True, | |||||
data_files=[ | |||||
("man/man1", ["manpage/kosmorro.1"]), | |||||
("man/man7", ["manpage/kosmorro.7"]), | |||||
], | |||||
install_requires=[ | |||||
"kosmorrolib", | |||||
"tabulate", | |||||
"termcolor", | |||||
"python-dateutil", | |||||
"babel", | |||||
], | |||||
classifiers=[ | |||||
"Development Status :: 3 - Alpha", | |||||
"Operating System :: POSIX :: Linux", | |||||
"Operating System :: MacOS :: MacOS X", | |||||
"Environment :: Console", | |||||
"Topic :: Scientific/Engineering :: Astronomy", | |||||
], | |||||
python_requires=">=3.7", | |||||
) |
@@ -7,7 +7,7 @@ from os import environ | |||||
from typing import Union | from typing import Union | ||||
DEFAULT_ENVIRONMENT = {"PATH": environ["PATH"]} | DEFAULT_ENVIRONMENT = {"PATH": environ["PATH"]} | ||||
KOSMORRO = ["./kosmorro", "--no-color"] | |||||
KOSMORRO = ["kosmorro", "--no-color"] | |||||
CURRENT_MOON_PHASE_PATTERN = re.compile( | CURRENT_MOON_PHASE_PATTERN = re.compile( | ||||
r"^Moon phase: (" | r"^Moon phase: (" | ||||