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 Java, Node.js, Python, Ruby, Rust and Go.

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: 10.14.2+
    • 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.12.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

oso-0.12.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (1.4 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

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

Uploaded PyPy manylinux: glibc 2.12+ x86-64

oso-0.12.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl (1.4 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

oso-0.12.0-cp39-cp39-win_amd64.whl (647.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

oso-0.12.0-cp39-cp39-macosx_10_9_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

oso-0.12.0-cp38-cp38-win_amd64.whl (647.6 kB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

oso-0.12.0-cp38-cp38-macosx_10_9_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

oso-0.12.0-cp37-cp37m-win_amd64.whl (647.5 kB view details)

Uploaded CPython 3.7m Windows x86-64

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

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

oso-0.12.0-cp37-cp37m-macosx_10_9_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

oso-0.12.0-cp36-cp36m-win_amd64.whl (647.5 kB view details)

Uploaded CPython 3.6m Windows x86-64

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

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

oso-0.12.0-cp36-cp36m-macosx_10_9_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: oso-0.12.0-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.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 24bda71f809c8a6932f291546d9b9d41a58a753bee49836a943396bb6c02dcbc
MD5 f1a2279105d22eebb2927ff9fdb139ef
BLAKE2b-256 7a226529f8fe124423597d22bd1dccaae486aa9f27aba1bb05e6c7f3716dd30f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f3fe1bb65829166aaa5d80af74a9ad7c3269d9087abe96040af281e89281c825
MD5 0cc481fa0a18de50278de8c300678b22
BLAKE2b-256 11366c3be939de1d00126439d612fe6cb040da011e65d51a02f3cc13384297ce

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.0-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.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 d26676cf3710f7d1d4bd7edaffa4b61fa6c02cbd154813be3bf9133f47cfc7a0
MD5 65153364d9fb15a2f87f272d4a6fcf77
BLAKE2b-256 c5aa2fedea813418f27f00769418d14c88bad9b002585595754dfbaa764717f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 50af555515eb97df1e52f23645933a1291829ce6411c9c232b081ad781fec5f6
MD5 73c7acd99ef0835f7a8600aaaeb61387
BLAKE2b-256 02e0c2e4b56a6b7825306acd13e393a685014b4cb14712e919f1c993e92b875f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 647.6 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ed9761bda8e2f63c072c1a66961910809d8792d22f7073cbded2c639889c4576
MD5 e424f396e2bec0d26acd26df8f38b948
BLAKE2b-256 235756a0bdd73aed59a079bce5efbb3a65bc3cff636198f161304f6f69d8a09c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.0-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.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b7955f4160c941c252ed2edef8dd8eff57afed5a52a973d33557cb9be124bcd8
MD5 d20b915b72e2d6935229a5140a2ed956
BLAKE2b-256 961b7efe1b68b1cd22f2d4274cc02416d4c4308380051118c3f7b14e0200ab1d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5d2cc1b2de1f8411a3743963d1216c448ad7e9e1117172faaa722ce683141fd8
MD5 a3fd5b630a491797a52b743e21dddda9
BLAKE2b-256 e3adac90e5d788b84cdab3d14acfb67c64fcd4ec5ba4932244a99de63bf13d3d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 647.6 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 bae16ee2fd3b1d2acb282f2fac288456dde56ae276e2db1e0274e2cc03720b0e
MD5 ccfc431914996c85c99dcc12793b95f6
BLAKE2b-256 020c01c70512d4b0c29c8a4a0196e9f33f0d831b6aa1e1b98db4291c0305c17d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.0-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.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8ec67aef7e3a555480d9d8e975cce7ead1447ac18be8ecb5892a58e95c44df99
MD5 8791b4c6457dff8c8b15b48af4471686
BLAKE2b-256 688afddf349c10d338984b578e47b780b4eb014e6b135f8626831a64f2b8fbb8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b44e6e35f97ead6ee9600cf15d9bd1a4343bc90fefb7f3d49328287dbd6f107a
MD5 90a45983b291ef842c62974d5771d2ca
BLAKE2b-256 fefde9bb8fc2b1e2cab8f7f90bbb1fa0870027c9cb38b316b0a8ad1eacb5a38c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 647.5 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 5d2976299cb14858c01afdbca74b136d8b03a2aebd7d9d31c9cd04a9b88a489c
MD5 a1d682792fbbaaa356cd910f96335a98
BLAKE2b-256 a4e3de6835bf4bf426fcddf4f0f7843fd87a1b4d6cf5c04262f021f648669406

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.0-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.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 5689d2686a06834941ffb4617ee07b44bea676893c1ecb07e4a666c32803decb
MD5 3fecb754cbb4f47fdc35086b042feafc
BLAKE2b-256 492a633d04fb574dd441e9e1c004085c95e727523ac7b93fc44c9e862139936d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 51323ee4fbb02f1d6b00d46c2abab90355f6f53473a1b17b865254e5c89d9d01
MD5 4a13007a84decafacf0f80c2999344e0
BLAKE2b-256 8931bea81f8f55f8508192c2b071e0f5db97275cb668f79319776cd51eaa28be

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 647.5 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 3464c8628b0d38216eb84d98a378e5777a987b81b733bcaf79319c54ee17605a
MD5 7beb7d99e721ab962c05b0857054a380
BLAKE2b-256 897bf9af02181e706af74f217210e2cc07d6a18a3522ef05ea071686566f7152

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.0-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.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a4465ba33043cdfab8108c68ab8437f566e85cc301f44792109ef9cafcaff970
MD5 e4bc70ddc560bbf2958977b8da28eb8d
BLAKE2b-256 a2a0a6a1af09942afef220bd760fbe28af4b3dd43f10958745493e6c61bbfc1b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.0-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bf7ae1dadfba64bb1d1c26930406b9cb13ad740e24fc2421a0496f93f2fb0d54
MD5 ebd6a7879d9516c499b7ea4721736fde
BLAKE2b-256 d288c8f683d42883d190b20fd05959853764c5706aeaca4044856c34af784d72

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