Skip to main content

epicycler

CircleCI codecov Code style: black PyPi Version GitHub stars

circles

Epicylces have been used for millenia to describe the motion of planets; even Copernicus still used them. They got out of fashion when Kepler thought about ellipses, but one can still fool around with epicycles a bit. See mathologer's awesome video about it (which in fact motivated this little package).

Create animations from polygons

Given a number of 2D polygonal points, epicycler creates nice animations. For example, the above is created with

epicycler-poly \
  0.0 0.0 \
  1.0 0.0 \
  1.0 2.0 \
  -0.5 1.1 \
  -0.5 2.1 \
  --xylim -1.5 +2.0 -1.3 3.0

See

epicycler-poly -h

for more options.

Installation

epicycler is available from the Python Package Index, so simply type

pip install -U epicycler

to install or upgrade.

Create animations from image files

seagull

Given a (small) linedrawing image file like the above seagull, epicycler can create an animation from it

epicycler-image in.png -c 0.5

Use the -c option for reducing the number of circles by cutting off those smaller than the given threshold radius; notice then how the polygon points are not followed exactly:

seagull-gif

Creating a GIF

ffmpeg -i out.mp4 -r 10 'frame-%03d.png'
convert -delay 5 -loop 0 frame-*.png out.gif

Testing

To run the epicycler unit tests, check out this repository and type

pytest

Distribution

To create a new release

  1. bump the __version__ number,

  2. publish to PyPi and GitHub:

    make publish
    

License

epicycler is published under the MIT license.

Release files for epicycler 0.1.0

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

Source distribution (sdist)

Source distribution for epicycler 0.1.0
File Size Uploaded
epicycler-0.1.0.tar.gz 5.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for epicycler 0.1.0
File Interpreter ABI Platform
epicycler-0.1.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 11.9 kB

Release files / epicycler-0.1.0.tar.gz

Download URL epicycler-0.1.0.tar.gz
Size 5.7 kB
Tags Source
SHA-256 checksum
How to use checksums
c668b25b3f442caaba6f0e40ba983f29319a1636b6b01b4a0960d23c53e3bde2
BLAKE2b-256 checksum
How to use checksums
95d091039685ca05622674c6e37365b88654ee02d00c3fc14793d8262d194677
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / epicycler-0.1.0-py2.py3-none-any.whl

Download URL epicycler-0.1.0-py2.py3-none-any.whl
Size 6.2 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
713cd98c6cbc8f23264ab15d24b5ea2d9860d4cb84e83c6a8f608b01c8e2bf8a
BLAKE2b-256 checksum
How to use checksums
8b970969201180856ad1c7d5d41056aa44b9b708c50ccf6372c8fba75de7daa6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

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