Skip to main content

oso is an open source policy engine for authorization that’s embedded in your application

Project description

Oso

Development GitHub release (latest SemVer) Go version Maven version NPM version PyPI version RubyGems version Crates.io version Slack

What is Oso?

Oso is a batteries-included library for building authorization in your application.

Oso gives you a mental model and an authorization system – a set of APIs built on top of a declarative policy language called Polar, plus a debugger and REPL – to define who can do what in your application. You can express common concepts from “users can see their own data” and role-based access control, to others like multi-tenancy, organizations and teams, hierarchies and relationships.

Oso lets you offload the thinking of how to design authorization and build features fast, while keeping the flexibility to extend and customize as you see fit.

Developers can typically write a working Oso policy in <5 minutes, add Oso to an app in <30 minutes, and use Oso to solve real authorization problems within a few hours. To get started, you add the library to your application, create a new Oso instance and load an Oso policy. You can mix and match any of Oso’s authorization APIs to implement features like roles with custom policies that you write to suit your application.

Oso is ideal for building permissions into user-facing applications, but you can check out Use Cases to learn about other applications for Oso.

Oso currently offers libraries for Node.js, Python, Go, Rust, Ruby, and Java.

Getting started

To get up and running with Oso, check out the Getting Started guides in the Oso documentation.

If you have questions, need help getting started, or want to discuss anything about the product, your use case, or authorization more generally, join us on Slack.

Development

Core

Oso's Rust core is developed against Rust's latest stable release.

Language libraries

Oso's language libraries can be developed without touching the Rust core, but you will still need the Rust stable toolchain installed in order to build the core.

To build the WebAssembly core for the Node.js library, you will need to have wasm-pack installed and available on your system PATH.

Language requirements

To work on a language library, you will need to meet the following version requirements:

  • Java: 10+
    • Maven: 3.6+
  • Node.js: 12.20.0+
    • Yarn 1.22+
  • Python: 3.6+
  • Ruby: 2.4+
    • Bundler 2.1.4+
  • Rust: 1.46+
  • Go: 1.12+

Contributing

See: CONTRIBUTING.md.

License

See: LICENSE.

Share your story

We'd love to hear about your use case and experience with Oso. Share your story on Twitter or fill out this form for some Oso swag.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

oso-0.14.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

oso-0.14.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

oso-0.14.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

oso-0.14.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

oso-0.14.1-cp39-cp39-win_amd64.whl (680.9 kB view details)

Uploaded CPython 3.9 Windows x86-64

oso-0.14.1-cp39-cp39-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

oso-0.14.1-cp39-cp39-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

oso-0.14.1-cp38-cp38-win_amd64.whl (680.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

oso-0.14.1-cp38-cp38-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

oso-0.14.1-cp38-cp38-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

oso-0.14.1-cp37-cp37m-win_amd64.whl (680.9 kB view details)

Uploaded CPython 3.7m Windows x86-64

oso-0.14.1-cp37-cp37m-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

oso-0.14.1-cp37-cp37m-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

oso-0.14.1-cp36-cp36m-win_amd64.whl (680.9 kB view details)

Uploaded CPython 3.6m Windows x86-64

oso-0.14.1-cp36-cp36m-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

oso-0.14.1-cp36-cp36m-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file oso-0.14.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.14.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: PyPy, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.14.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 5e551f0734b691344add49d81b045e74963fccab775690b54126b05d5befabb8
MD5 cfb3b0fe08596840c643c1768e3784f5
BLAKE2b-256 53de637dbbdd106fd83a4612835f8ae2dd6fca6a1e0f3d8c396dbcca957f86b4

See more details on using hashes here.

File details

Details for the file oso-0.14.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.14.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.14.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 02d67243dc646f8e7d7bb6c8b2768ddde1ff5cb634b7fde151d54bd91bddc08a
MD5 ac66f5e068ba8357b9df014398ccc022
BLAKE2b-256 f5fe1215786cc16116697c6e2a186b3c49a82d0ffe7354bb30e01577ff4f0a17

See more details on using hashes here.

File details

Details for the file oso-0.14.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.14.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: PyPy, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.14.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 2ef757ac681ca2d16369078c8602f8e11fa297e1538b2567a7b956efaf11f7d3
MD5 d8fca87127f16055d36cd6a0b5804a2b
BLAKE2b-256 910aa17031da6c68920c88bdfb85a43d6c0ea472c82ad56bf60153c8376771e7

See more details on using hashes here.

File details

Details for the file oso-0.14.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.14.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.14.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6ced3e7d850c76c9150576d66f3dfe3d00647e8c626ba8f962fd88a8d1eec0e7
MD5 609a345179b081150380dce43dae69b0
BLAKE2b-256 edb8d452c409b5bc0742b98b2cbea23b820107aaa31a98d8b0805c1217d6a0ba

See more details on using hashes here.

File details

Details for the file oso-0.14.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: oso-0.14.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 680.9 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.14.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 45002fc8c85cbd1e43f5a51256dc7ec950d46a3c6bc22ddd7e845ab4b49f7f00
MD5 3e840009283b91e39373cd90863885b9
BLAKE2b-256 bfbcabeaf03c0ccf5c2b8a5042618559a8e88f568112560868ce7a7466246cab

See more details on using hashes here.

File details

Details for the file oso-0.14.1-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.14.1-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.14.1-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b8df1ef92ec82f3e8156c912e797a5f369059f6e319da6ab8ca2feb409a31713
MD5 2808c34ffb5ef7dcb50ad6f157f059c0
BLAKE2b-256 8cbcc64d3567eb0ef5245d6f3201b598b82186decff8f29baae38697292df536

See more details on using hashes here.

File details

Details for the file oso-0.14.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.14.1-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.14.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 04d01fbb80d17e8a35ea57cf9616dbf60445f4e2cd4a49760ec22007a6016668
MD5 684440e5e0f853c5c690ab5267c6e5cf
BLAKE2b-256 0d40b9fe0de2b8a665ee14beba1e375cf2e21eb2d82f529092a2eee7f18e4c97

See more details on using hashes here.

File details

Details for the file oso-0.14.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: oso-0.14.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 680.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.14.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 566c45d6cd704f1aabca1c19059fe6bd1e8f9ca9fcb4bdc591a340b727ea670a
MD5 dde2ba163ac998069a7746fc2df2ff73
BLAKE2b-256 6fd9203a8b8d83f0f26f66214d2818a00a0b2d83a27e8d7eaf9894d9b9e5523a

See more details on using hashes here.

File details

Details for the file oso-0.14.1-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.14.1-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.14.1-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 2a1ddad53c67b2a5f53a5accc1749742b875985da958bc8642d4d6886c6e0875
MD5 23256d2cf4e43c19d8fc919ea0968b6a
BLAKE2b-256 d0ae6255533d83e586d8fa67b7755dd01bce07bbc0de8c7544c6767588d533a9

See more details on using hashes here.

File details

Details for the file oso-0.14.1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.14.1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.14.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a7ee423fb6aa936c2f4a7d189e59c254a51b762abba8f48a8a1c814f8715b50d
MD5 155512994c055a1934dd48c203852fe3
BLAKE2b-256 1eab3263c0ff5b2ea39d809c0f9a32f7ac0bd57a0eade68cdfb2c0877955aeb4

See more details on using hashes here.

File details

Details for the file oso-0.14.1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: oso-0.14.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 680.9 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.14.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 41ee1b03c09efe4fe481c2191771c133477850819adb926e0a9e97edc93cf55f
MD5 b8907128be13f1cdd6e9be309d2ef12e
BLAKE2b-256 6280073c306ecfa1534c7a9360dfd184aeb377f43b279d239c29cfe41ca2365b

See more details on using hashes here.

File details

Details for the file oso-0.14.1-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.14.1-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.14.1-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 5a0ba9410cbbd93251a8f419bbfdeb2879ccea1c3d8114cca5c9227a0cfdd142
MD5 8b384fe34f008be04aa218a12c37a36e
BLAKE2b-256 86cc0349395e9306b9fcf8f3dd856b3c6fbbe8af909a00cb4a4a33572ef545f7

See more details on using hashes here.

File details

Details for the file oso-0.14.1-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.14.1-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.14.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 002f761459659612fad6a130e141b5930411e1c2ff0fd053266f61724fffcc5a
MD5 665c317635ee7c2f817fc5bdad149254
BLAKE2b-256 039fb696725f6173d92499b0f76b9ffc2cd2f80af1968e178d41dc8eb2815202

See more details on using hashes here.

File details

Details for the file oso-0.14.1-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: oso-0.14.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 680.9 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.14.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 09da3c2cfa9742dd661a7afcf630e64d0560356ce5084b8968dc7a954c3ead27
MD5 6c41fc7889d6927a57f08e8a5a8d781f
BLAKE2b-256 efdf403902649a3ec0ec65cecdf0daef4051d44716e05e98dce653cd38011c3a

See more details on using hashes here.

File details

Details for the file oso-0.14.1-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.14.1-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.14.1-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 460f9427c191349c7c17a398832af60b317bef8e8c7c528e4bc3cf7c73de2102
MD5 fa7a396283e5b23b96495e3f9e4b7520
BLAKE2b-256 61f07d08fb0be7ba9dad00209bcd634b0064eca04b6111ee3174d57a2a9e06a9

See more details on using hashes here.

File details

Details for the file oso-0.14.1-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: oso-0.14.1-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.11

File hashes

Hashes for oso-0.14.1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 275cf0721f4c84ea3760207737c79e5486b5ea5354ec575e9385ae1174259e2c
MD5 1843651d4c6780a8a84bc14cd79a0324
BLAKE2b-256 d5dbc51031338d4342accf645a13be085f87c1d919ce22d4f2a5486f5705f45b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page