Quick start

Copy the code you need from the ecdysis/ module. Search and replace the ecdysis string with your own module name. Backport to Python 2 if you need: the code targets Python 3, but should be easily backportable. Make sure you also check the, setup.cfg, tox.ini, .gitignore and similar files from the top directory to setup tests properly.

Copy the doc/ directory into your project. Review and edit the Contribution guide guidelines and run make html to generate a HTML rendering of the documentation. Read the API documentation and copy-paste the code you need. Consider adding a changelog.

We use the doctest module to perform tests on the various functions because it allows us to quickly copy the tests along with the functions when we copy code around. Tests are discovered with pytest.

Documentation structure

Code is not everything. Documentation is really important too. This base package also features extensive self-documentation, but also documentation templates that can be reused.

The documentation is made of this README file, but is also rendered as a ReST (REStructured Text) document that is rendered into various formats (HTML, ePUB, PDF, etc) through the Sphinx documentation system. Special includes in the index.rst file do some magic to distribute parts of this file in the right sections of the online documentation.

Community guidelines

The community guidelines are described in the Contribution guide document, which provides a nice template that I reuse in other projects. It includes:

  • a code of conduct
  • how to send patches
  • how documentation works
  • how to report bugs
  • how to make a release

It seems critical to me that every project should have such documentation.

Why the name?

The name comes from what snakes and other animals do to “create a new snake”: they shed their skin. This is not so appropriate for snakes, as it’s just a way to rejuvenate their skin, but is especially relevant for anthropods since the ecdysis may be associated with a metamorphosis:

Ecdysis is the moulting of the cuticle in many invertebrates of the clade Ecdysozoa. Since the cuticle of these animals typically forms a largely inelastic exoskeleton, it is shed during growth and a new, larger covering is formed. The remnants of the old, empty exoskeleton are called exuviae.


So this project is metamorphosed into others when the documentation templates, code examples and so on are reused elsewhere. For that reason, the license is an unusally liberal (for me) MIT/Expat license.

The name also has the nice property of being absolutely unpronounceable, which makes it unlikely to be copied but easy to search online.