Skip to main content

Socorepo, the SOftware COmponent REPOsitory exPOser, is a lightweight Python webapp that pulls software component listings from a variety of different sources and presents them as intuitive download sites to end users.

A production instance of the webapp is permanently embedded in https://loadingbyte.com, for example, at https://loadingbyte.com/socorepo/dl/. Try it out!

Features

  • Pulls software components from Nexus 3, GitHub, or PyPI repositories.
  • "Just works": Listings are sorted and classified by sensible and generic (yet configurable) standards.
  • Extremely lightweight: No external services like databases required.
  • Configured fully by simple config files.
  • Features a REST API.
  • 100% JavaScript-free. Doesn't employ any JavaScript in the browser.

Install

Socorepo can be installed from PyPI:

$ pip install socorepo

You can then quickly deploy Socorepo, e.g., using Gunicorn:

$ pip install gunicorn
$ gunicorn -b 127.0.0.1:4000 socorepo:app

Configure

When you just fire up Socorepo, it uses the default configuration files that it ships with. You probably want to edit these files. To do that, first extract the default configuration files using:

$ socorepo-default-config

This will copy the default configuration files into a new config/ folder in your shell's current directory. Now put that folder wherever you want. When you start Socorepo in the future, simply supply the path to your new config directory in the environment variable SOCOREPO_CONFIG_DIR:

$ SOCOREPO_CONFIG_DIR=/path/to/config/ gunicorn -b 127.0.0.1:4000 socorepo:app

All configuration files use the TOML configuration format.

The settings.toml file contains straightforward general settings which are explained in detail by the comments in that file. Meanwhile, the projects.toml file defines the software projects for which Socorepo presents download pages. When configuring Socorepo for the first time, start with these two files and use the extensive comments as a guide. The remaining .toml files you probably won't need to touch for starters.

Metadata

Release files for socorepo 1.2.1

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

Source distribution (sdist)

Source distribution for socorepo 1.2.1
File Size Uploaded
socorepo-1.2.1.tar.gz 38.3 kB Details

Built distribution (wheel)

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

Total release size: 86.1 kB

Release files / socorepo-1.2.1.tar.gz

Download URL socorepo-1.2.1.tar.gz
Size 38.3 kB
Tags Source
SHA-256 checksum
How to use checksums
ba6e8c96593af0896806287456daef175df5fca95901c6ab46b21ab6ef26c6d7
BLAKE2b-256 checksum
How to use checksums
4f4f1e9c1a1b2eeb2480ec471699f865bd068db237617592efc3dd9f641e251a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.15

Release files / socorepo-1.2.1-py3-none-any.whl

Download URL socorepo-1.2.1-py3-none-any.whl
Size 47.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a5af376875a8468ca18b4af56c9050dd02e81068d592b4409b8e1ba99eadc8d9
BLAKE2b-256 checksum
How to use checksums
e29932431847d122ccf3cf8c84a74a926bf0e07b618acba89ddde3b9ad3853a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.15

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

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