.. index::
  single: projects

.. _projects:

Open Source Projects
====================

Here you will find some information on open source projects I am involved with. You can also take a
look at my profile on `GitHub`__. If you find any of the software here useful, you can support my
work via `Github Sponsors`__.

.. __: https://github.com/sebastinas
.. __: https://github.com/sponsors/sebastinas

Debian
------

I am a `Debian`_ Developer and maintain some packages. A full list can be found `here`__. I am also
active in the `Release`_ and `Multimedia`_ teams.

.. _Release: https://release.debian.org
.. _Multimedia: https://qa.debian.org/developer.php?email=debian-multimedia%40lists.debian.org
.. __: https://qa.debian.org/developer.php?login=Sebastian%20Ramacher

pwmt
----

`pwmt`_ is a project dedicated to simple, *vim*-like programs. The main focus of the project is
`zathura`_, a document viewer featuring a plugin system to view PDF, PostScript and DjVu documents.

.. _zathura: https://pwmt.org/projects/zathura

bpython
-------

`bpython`__ is a fancy interface to the Python interpreter.  It has the following (special) features:

* In-line syntax highlighting
* Readline-like autocomplete with suggestions displayed as you type.
* Expected parameter list for any Python function.
* "Rewind" function to pop the last line of code from memory and re-evaluate.
* Send the code you've entered off to a pastebin.
* Save the code you've entered to a file.
* Auto-indentation.

The repository can be found on `GitHub`__. Releases are available from `PyPI`__.

.. __: https://bpython-interpreter.org
.. __: https://github.com/bpython/bpython
.. __: https://pypi.python.org/pypi/bpython

cwcwidth
--------

*cwcwidth* provides Python bindings for *wcwidth(3)* and *wcswidth(3)* using `Cython`_. It is used
by both *bpython* and `curtsies`__ to compute the required number of columns to display strings on
the terminal.

The repository can be found on `GitHub`__. Releases are available from `PyPI`__.

.. __: https://pypi.python.org/pypi/curtsies
.. __: http://github.com/sebastinas/cwcwidth
.. __: https://pypi.python.org/pypi/cwcwidth

python-libdiscid
----------------

*python-libdiscid* provides Python bindings for `libdiscid`__ using `Cython`_. *python-libdiscid* is
used by the music tagger `Picard`__ to create DiscIDs to lookup CDs at `MusicBrainz`__.

The repository can be found on `GitHub`__. Releases are available from `PyPI`__.

.. __: http://musicbrainz.org/doc/libdiscid
.. __: https://picard.musicbrainz.org/
.. __: https://www.musicbrainz.org/
.. __: http://github.com/sebastinas/python-libdiscid
.. __: https://pypi.python.org/pypi/python-libdiscid

yafc
----

*yafc* is an FTP client intended to be a replacement for the standard *ftp(1)* program. *yafc* was
originally written by Martin Hedenfalk. Together with Josh Heidenreich I took over the maintenance
of *yafc* in 2012. If you are intersted in *yafc*, please consider adopting it!

The repository can be found on `GitHub`__.

- :download:`yafc 1.3.7 <_static/yafc-1.3.7.tar.xz>`
- :download:`yafc 1.3.6 <_static/yafc-1.3.6.tar.xz>`
- :download:`yafc 1.3.5 <_static/yafc-1.3.5.tar.xz>`
- :download:`yafc 1.3.4 <_static/yafc-1.3.4.tar.xz>`
- :download:`yafc 1.3.3 <_static/yafc-1.3.3.tar.xz>`
- :download:`yafc 1.3.2 <_static/yafc-1.3.2.tar.xz>`
- :download:`yafc 1.3.1 <_static/yafc-1.3.1.tar.xz>`
- :download:`yafc 1.2.6 <_static/yafc-1.2.6.tar.xz>`
- :download:`yafc 1.3.0 <_static/yafc-1.3.0.tar.xz>`
- :download:`yafc 1.2.5 <_static/yafc-1.2.5.tar.xz>`
- :download:`yafc 1.2.4 <_static/yafc-1.2.4.tar.xz>`
- :download:`yafc 1.2.3 <_static/yafc-1.2.3.tar.xz>`
- :download:`yafc 1.2.2 <_static/yafc-1.2.2.tar.xz>`
- :download:`yafc 1.2.1 <_static/yafc-1.2.1.tar.xz>`
- :download:`yafc 1.2.0 <_static/yafc-1.2.0.tar.xz>`
- :download:`yafc 1.1.3 <_static/yafc-1.1.3.tar.bz2>`

.. __: https://github.com/sebastinas/yafc

.. _Cython: https://cython.org
.. _Debian: https://debian.org
.. _pwmt: https://pwmt.org
