<!DOCTYPE html>
<html><head>
    <meta charset="utf-8">
    <title>Projects | Home</title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="mobile-web-app-capable" content="yes">
    <meta name="color-scheme" content="dark light">
    <link rel="stylesheet" href="/style.css">
</head>
<body><nav>
    <div class="internal">
        
        <a href="/" title="Home">Home</a>
        <a href="/blog/" title="Blog">Blog</a>
        <a href="/projects/" title="Projects" class="active">Projects</a>
        <a href="/about/" title="About">About</a>
    </div>
    <div class="external">
        <a href="https://git.jaseg.de/" title="cgit">cgit</a>
        <a href="https://github.com/jaseg" title="Github">Github</a>
        <a href="https://gitlab.com/neinseg" title="Gitlab">Gitlab</a>
        <a href="https://chaos.social/jaseg" title="Mastodon">Mastodon</a>
    </span>
</nav>

    <header>
        <h1>Projects</h1>
<ul class="breadcrumbs">
    <li><a href="/">jaseg.de</a></li><li><a href="/projects/">Projects</a></li>
</ul>

    </header>
    <main class="cards">
        <div class="intro">
            <div class="document">


<p>I maintain a number of open-source projects. Most of these I started out of some personal need or interest.
I strive to keep all of them up to date and maintained, so if you notice an issue with one of them, please
open an issue on the project's issue tracker.</p>
</div>
        </div>
            <div class="card"><h2><a href="/projects/gerbolyze/">Gerbolyze</a></h2>

    <div class="summary">
        <div class="document">


<p>Gerbolyze is a tool that allows the modification of Gerber PCB artwork with a vector graphics editor like Inkscape. Gerbolyze directly converts between SVG and Gerber, and accurately reproduces details that other tools can not.</p>
</div>
        <a href="http://jaseg.de/projects/gerbolyze/">Read more</a>
    </div>
    <div class="links">
        <a href="https://git.jaseg.de/gerbolyze.git">Sources</a>
        <a href="https://github.com/jaseg/gerbolyze/issues">Issues</a>
        <a href="https://gerbolyze.gitlab.io/gerbolyze">Docs</a>
        <a href="https://pypi.org/project/gerbolyze">PyPI</a>
    </div>
</div>

            <div class="card"><h2><a href="/projects/gerbonara/">Gerbonara</a></h2>

    <div class="summary">
        <div class="document">


<p>Gerbonara is a user-friendly, powerful tool for reading, writing, modification and rendering of Gerber PCB artwork from the command line or from Python code. Gerbonara supports the Gerber dialects of all industry-standard EDA tools.</p>
</div>
        <a href="http://jaseg.de/projects/gerbonara/">Read more</a>
    </div>
    <div class="links">
        <a href="https://git.jaseg.de/gerbonara.git">Sources</a>
        <a href="https://gitlab.com/gerbolyze/gerbonara/issues">Issues</a>
        <a href="https://gerbolyze.gitlab.io/gerbonara">Docs</a>
        <a href="https://pypi.org/project/gerbonara">PyPI</a>
    </div>
</div>

            <div class="card"><h2><a href="/projects/lolcat-c/">lolcat-c</a></h2>

    <div class="summary">
        <div class="document">


<p>lolcat-c is a small, high-performance re-implementation of the <a class="reference external" href="https://github.com/busyloop/lolcat">lolcat</a> rainbow cat utility. lolcat-c is meant as a lolcat that you can actually use in production. It is fast, not slowing down whatever you pipe through it, and it robustly handles real-world terminal output including escape sequences.</p>
</div>
        <a href="http://jaseg.de/projects/lolcat-c/">Read more</a>
    </div>
    <div class="links">
        <a href="https://git.jaseg.de/lolcat.git">Sources</a>
        <a href="https://github.com/jaseg/lolcat">Github</a>
        <a href="https://github.com/jaseg/lolcat/issues">Issues</a>
    </div>
</div>

            <div class="card"><h2><a href="/projects/python-mpv/">python-mpv</a></h2>

    <div class="summary">
        <div class="document">


<p>python-mpv is a small, ctypes-based Python library wrapping the libmpv media player library. Despite its small size and simple API, python-mpv allows advanced control over libmpv and beyond simple remote control of mpv can be used to embed mpv in OpenGL, Qt, and GTK-based Python applications.</p>
</div>
        <a href="http://jaseg.de/projects/python-mpv/">Read more</a>
    </div>
    <div class="links">
        <a href="https://git.jaseg.de/python-mpv.git">Sources</a>
        <a href="https://github.com/jaseg/python-mpv/issues">Issues</a>
        <a href="https://neinseg.gitlab.io/python-mpv">Docs</a>
        <a href="https://pypi.org/project/mpv">PyPI</a>
    </div>
</div>

            <div class="card"><h2><a href="/projects/svg-flatten/">svg-flatten</a></h2>

    <div class="summary">
        <div class="document">


<p>svg-flatten is a command-line utility that performs vector occlusion and clipping on SVG files, producing a flattened SVG file without overlapping elements, without changing what the file looks like. svg-flatten is used as a part of gerbolyze.</p>
</div>
        <a href="http://jaseg.de/projects/svg-flatten/">Read more</a>
    </div>
    <div class="links">
        <a href="https://git.jaseg.de/gerbolyze.git/tree/svg-flatten?h=main">Sources</a>
        <a href="https://github.com/jaseg/gerbolyze/issues">Issues</a>
        <a href="https://gerbolyze.gitlab.io/svg-flatten">Docs</a>
    </div>
</div>

            <div class="card"><h2><a href="/projects/wsdiff/">wsdiff</a></h2>

    <div class="summary">
        <div class="document">


<p>wsdiff is a command-line utility that produces self-contained, syntax-highlighted, HTML-formatted diffs that support both unified and side-by-side diffs from a single source file using nothing but CSS magic.</p>
</div>
        <a href="http://jaseg.de/projects/wsdiff/">Read more</a>
    </div>
    <div class="links">
        <a href="https://git.jaseg.de/wsdiff.git">Sources</a>
        <a href="https://github.com/jaseg/wsdiff/issues">Issues</a>
        <a href="https://pypi.org/project/wsdiff">PyPI</a>
    </div>
</div>

    </main><footer>
    Copyright © 2023 Jan Sebastian Götte
    / <a href="/about/">About</a>
    / <a href="/imprint/">Imprint</a>
</footer>
</body>
</html>