Skip to main content

A simple merging package manager for microservices

Project description

# stir

![stir header image](stir-800x200.png?raw=true)

stir is a tool for synchronizing files between two or more systems — a general purpose package manager.

stir is a simple method of sharing source code libraries between microservices, fetching credential files (like Google’s service account credentials.json), or any other files.

## How It Works

  1. A package containing some files is created and placed on your private server.
  2. The package is then installed via stir install package-name wherever the files are needed.

## Features

  • Merging - Multiple packages can be installed in the same directory.
  • Easy - Creating and publishing packages is trivial.
  • Language Agnostic - Python, JavaScript, C source, or any file type you need to package and share.
  • Secure - Packages can require authentication to update or fetch.
  • Private - Host your own stir server.
  • Microservices - No need to duplicate code between services.

## Examples

### Sharing Source Code

Project bar depends on libraries maintained in project foo’s git repository.

  1. From foo’s git repository, in a directory that will be the package root, create your package.
    • stir upsert foolibs -p “**.py”
    • This will find all files in the current that match **.py (** is the convention for recursive matching).
  2. From foo’s git repository, run stir publish foolibs. This will bundle the package (foolibs-0.0.1.zip) and push it to the server.
  3. When working in the bar project, fetch the latest foolibs package.
    • stir install foolibs
    • If foolibs is not installed, or an older version, this will pull the most recent foolibs package from your stir server and install it in foolibs/.
  4. Add to your deployment pipeline. For example, in your Dockerfile:
    • RUN pip install stir && (cd /app/bar && stir -y install foolibs)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for stir, version 0.0.3
Filename, size File type Python version Upload date Hashes
Filename, size stir-0.0.3.tar.gz (7.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page