Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

Pin your functions!

Project description


PyPI version Build Status codecov License: MIT contributions welcome

Piniverse is a simple library to programmatically orchestrate function calls for Python.

Table of contents

Features Support

  • Execution of pinned functions inside a python package in topological ordering
  • Visualization of the directed acyclic graph


  • Python 3.7

Getting Started


$ pip install piniverse

Basic Usage

Piniverse inspects pinned functions inside a package.

├── workspace/   <-- workspace directory
├──    <-- script file

To orchestrate your desired functions, pin them! Every pinned function has a task identifier, and if applicable, a succeeding toward identifier.

# workspace/

from piniverse import Pinned

    args: ['Hello World']
    kwargs: {'content': 'Programming exercise...'}
def simple_print(title: str, content: str = '') -> None:
  message = """
    Title: {}
  """.format(title, content)

    args: ['A pretty Hello World']
    kwargs: {'content': 'A pretty programming exercise!'
def pretty_print(title: str, content: str = '') -> None:
  message = """
    Pretty Title: {}
    Pretty Content: 
  """.format(title, content)


To execute your pinned functions, plan and apply!


import piniverse
import workspace


// Title: Hello World
// Content: 
//   Programming exercise...
// Title: A pretty Hello World
// Content:
//   A pretty programming exercise

User Interface

Piniverse also provides a straightforward visualization of your task definitions.


pinverse.plan(workspace, plan_view=True)


Presently, Piniverse solely supports standalone functions.


Contributions are more than welcome! Check out the contribution documentation.

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 piniverse, version 0.0.4
Filename, size File type Python version Upload date Hashes
Filename, size piniverse-0.0.4.tar.gz (13.1 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page