Giter Club home page Giter Club logo

tricycle's Introduction

tricycle: experimental extensions for Trio

Latest PyPI version Documentation status Automated test status Test coverage Code style: black Checked with mypy

This is a library of interesting-but-maybe-not-yet-fully-proven extensions to Trio, the friendly Python library for async concurrency and I/O.

While we won't release known-broken code, and we strive for cleanliness and good test coverage, please be advised that tricycle is mostly one person's box of tools that seemed like a good idea at the time, and should be treated with according skepticism if you're contemplating using it in production. It hasn't necessarily been reviewed or tested to Trio's standards, it supports at minimum Python 3.6, and some features might not be available on PyPy or on Windows.

  • If you find that it meets your needs, you're welcome to use it. We'll endeavor to provide a (short) deprecation period on API changes, but no guarantees on that yet.
  • If you find that it doesn't meet your needs, feel free to let us know, but don't say you weren't warned. :-)

Currently we have:

  • a readers-writer lock (tricycle.RWLock)
  • slightly higher-level stream wrappers (tricycle.BufferedReceiveStream and tricycle.TextReceiveStream)
  • some tools for managing cancellation (tricycle.open_service_nursery() and tricycle.MultiCancelScope)
  • a way to make objects that want to keep background tasks running during the object's lifetime (tricycle.BackgroundObject and the more general tricycle.ScopedObject)
  • [watch this space!]

License and history

tricycle is licensed under your choice of the MIT or Apache 2.0 license. See LICENSE for details.

This library has its origins in a package of utilities that the author wrote at Hudson River Trading while building things for them with Trio. Many thanks to HRT for supporting open source in this way!

tricycle's People

Contributors

belm0 avatar oremanj avatar tjstum avatar

Watchers

 avatar  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.