Skip to main content

mothman (formerly cidercellar)

logo

Code style: black PyPI - Downloads PyPI - License PyPI PyPI - Python Version Lines of code

logo here

Cydia/Sileo repository creation made ez. Inspired by repoman.

NOTE: This project is still WIP and in alpha stage.

Rationale

repo.me and Reposi3 are awesome Cydia repo templates, simplifying the creation of Cydia repos. But it becomes tedious to manually create descriptions for every single package (which is actually done twice, for both Cydia and Sileo).

This project aims to automate the process of generating descriptions for all packages in a repo, as well as creating the Packages and Release file (without apt, especially on Windows).

Hey, what about Silica?

The main advantage of mothman is that it is entirely pure-Python. Silica shells out to dpkg-deb (Debian-based systems, WSL). So you can use mothman on both WSL and native Windows.

Features

  • Pure-Python dependencies, portable (no more wrangling with libapt.so on non-Debian platforms)
  • Automate repository management, including adding Debian packages and generating depictions for them (certain fields can be customised)
  • Adds Depiction and SileoDepiction keys to Packages file for you

CLI Usage

  1. Create a new repo from an existing template:
$ mothman init -p example && cd example
# ...some log messages here...
INFO     :: Done! Place your Debian package files in the example/debians folder,
            customise the template if needed, and execute 'mothman build <host domain>' to build.

This will create a mothman.json config file in the root of the repository folder. The config file is really, really important because it tells mothman about the template it's using. Don't delete it!

  1. Add your Debian packages/tweaks to the aforementioned folder (in this case example/debians).

Optionally, you can change the template design around a bit and customize it to your liking.

  1. Build the repo:
$ mothman build my-domain.com

where my-domain.com is the website where you are hosting your repo. Make sure it is just the domain without http(s):// in front.

If you are going to host the repo in a subdirectory (i.e .github.io isn't just for your Cydia repo), then just append the path:

$ mothman build <username>.github.io/example  # assuming that you move the 'example' Cydia repo into the Github Pages repository.

Push the changes to your repo or your server. If you add/update any packages, just repeat step 3.

API Usage

If you want to use mothman as a Python module, the reference docs are here.

Depends

  • python - At least version 3.6.
  • python-dpkg - Debian package interface (already vendorised)
  • arpy - Access ar archives

Install

python(3) -m pip install mothman

Build

All my python projects now use flit to build and publish. To build, do flit build.

License

Apache License v2.

Copyright 2020-2021 Ong Yong Xin

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Metadata

Release files for mothman 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 mothman 0.1.0
File Size Uploaded Provenance
mothman-0.1.0.tar.gz 34.8 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 58.3 kB

Release files / mothman-0.1.0.tar.gz

Download URL mothman-0.1.0.tar.gz
Size 34.8 kB
Tags Source
SHA-256 checksum
How to use checksums
e2de2fd8520130c293b65e3d9e44139ed10b9adf63940cf135b3f25c9f07eb53
BLAKE2b-256 checksum
How to use checksums
9f439f41e7395651f5341bedd9894c20d7d36e4fb265d974e9de25c9c7df13b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.25.1

Release files / mothman-0.1.0-py3-none-any.whl

Download URL mothman-0.1.0-py3-none-any.whl
Size 23.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
be227e205a0e224b2d90cefd5f9d09afd5c9705b1a402cace4da8e89bae1ecf5
BLAKE2b-256 checksum
How to use checksums
4ab3b7c784b84c59f93b81cbfe32f7201c48abe6a112eb74db3eba1df1f2a5e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.25.1

Security for mothman 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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