Git Product home page Git Product logo

stir's Introduction

stir

stir header image

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)

stir's People

Contributors

nullism avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.