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.

Check out Use Cases to learn more about how teams are using Oso to build authorization.

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 or need help getting started come chat with our engineering team & hundreds of other developers using Oso:

Button

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.20.1b0-pp37-pypy37_pp73-manylinux2010_x86_64.whl (2.5 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

oso-0.20.1b0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

oso-0.20.1b0-pp36-pypy36_pp73-manylinux2010_x86_64.whl (2.5 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

oso-0.20.1b0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

oso-0.20.1b0-cp39-cp39-win_amd64.whl (836.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

oso-0.20.1b0-cp39-cp39-manylinux2010_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

oso-0.20.1b0-cp39-cp39-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

oso-0.20.1b0-cp38-cp38-win_amd64.whl (836.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

oso-0.20.1b0-cp38-cp38-manylinux2010_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

oso-0.20.1b0-cp38-cp38-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

oso-0.20.1b0-cp37-cp37m-win_amd64.whl (836.6 kB view details)

Uploaded CPython 3.7m Windows x86-64

oso-0.20.1b0-cp37-cp37m-manylinux2010_x86_64.whl (2.6 MB view details)

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

oso-0.20.1b0-cp37-cp37m-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

oso-0.20.1b0-cp36-cp36m-win_amd64.whl (836.6 kB view details)

Uploaded CPython 3.6m Windows x86-64

oso-0.20.1b0-cp36-cp36m-manylinux2010_x86_64.whl (2.6 MB view details)

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

oso-0.20.1b0-cp36-cp36m-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file oso-0.20.1b0-pp37-pypy37_pp73-manylinux2010_x86_64.whl.

File metadata

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

File hashes

Hashes for oso-0.20.1b0-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 666adc426f07abed4730ccf079d332a26e07dab2e6bf75f2a9533cc7b500f358
MD5 cb67469ba49bbe9eaff67390ac732f90
BLAKE2b-256 51e4eb828b6f1c78a2fa1123400358079b9b25f24c7964ad822ef845dc59834d

See more details on using hashes here.

File details

Details for the file oso-0.20.1b0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

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

File hashes

Hashes for oso-0.20.1b0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8468774d897082c7dffceb8752b4c7d46be9d84c8d4015e2f80a3ff896d52b6a
MD5 f8c1daa3de6bc3913c494633987585e0
BLAKE2b-256 2aec0b71dbc22525e6133cb81698a3fb055d8d706ad84cb011d56f0ad88b74aa

See more details on using hashes here.

File details

Details for the file oso-0.20.1b0-pp36-pypy36_pp73-manylinux2010_x86_64.whl.

File metadata

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

File hashes

Hashes for oso-0.20.1b0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 09cdf3b8d76811db88856d14f60f6bba6a3577762d1f65a198572c6c81bc8381
MD5 a1635a87fe831c156ad906fce41ff4ad
BLAKE2b-256 e66f93de12a85e51ab7acf249b2a94d66fa909454dd966445d64856dd1f6c1d0

See more details on using hashes here.

File details

Details for the file oso-0.20.1b0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl.

File metadata

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

File hashes

Hashes for oso-0.20.1b0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8c9e30f99b7c61228207ddaf4a7f3429df779a15108572f2efe1ae70ea244c74
MD5 cf85f019937fb6cb0da29d69333d9af4
BLAKE2b-256 331a465ccb29cd1fad6660be322edd483afd35ca7110fd27ecc42843fd33d23e

See more details on using hashes here.

File details

Details for the file oso-0.20.1b0-cp39-cp39-win_amd64.whl.

File metadata

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

File hashes

Hashes for oso-0.20.1b0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5bad96f3d2e6f07d738de6c7e01952c458c7139dd546fade6841a310d3a61c28
MD5 779eaa349f4dc19b08f81262a8fd8bfe
BLAKE2b-256 d7024e3a48fb80a0199a0126107aad38e8cab9afe1c56ecc216f8d903efd9efa

See more details on using hashes here.

File details

Details for the file oso-0.20.1b0-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.20.1b0-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.6 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.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.7.11

File hashes

Hashes for oso-0.20.1b0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 c16fbe8d1aa29913212ceecd12c7d0488ad3e1364eda074264a3bef24f6f4743
MD5 a17152f90e0147055341c7f2b67520a2
BLAKE2b-256 7a74d77e019d45a934da9ea362ea68ed14bf37d100943ef14f6a4a2ebc665a42

See more details on using hashes here.

File details

Details for the file oso-0.20.1b0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

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

File hashes

Hashes for oso-0.20.1b0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 266c60a420cef44efb593768d5e377e88ac5bd7d19ad535dd581f683b676667f
MD5 5f937d93356680f289202a8484450e86
BLAKE2b-256 565f994321c3fbd68f30371e09576f231595410660b2ceb2f09d57aa2f0e32fc

See more details on using hashes here.

File details

Details for the file oso-0.20.1b0-cp38-cp38-win_amd64.whl.

File metadata

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

File hashes

Hashes for oso-0.20.1b0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 8e6767ccf52cad86cacd62dbc3b10ce65599ca756d4496cbcea717a2b12693ff
MD5 859e2d8369c3f51ad13b9a4ca0141b76
BLAKE2b-256 297b2b17876f2e4f5aff0453c85f753848f6b15d9b6c7ef12664e297a23ccc8e

See more details on using hashes here.

File details

Details for the file oso-0.20.1b0-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.20.1b0-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.6 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.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.7.11

File hashes

Hashes for oso-0.20.1b0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 deaa9468667973b9fe4419d9b0e5012803d095f04d09ee041c5395fd736e14d5
MD5 d19cf384e9ef10d92000fa48c8669435
BLAKE2b-256 d68b52236af5277f95f9e9b404ef72f420f0931fe3e3723d108ad1e06cfc0879

See more details on using hashes here.

File details

Details for the file oso-0.20.1b0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

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

File hashes

Hashes for oso-0.20.1b0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 be3c7a63b2b8eb3f4a9f957eb2ce6388992a92ac84fb7119da940c17808fb2e3
MD5 7c876c04a28240cbf8f58ae92c9a30c8
BLAKE2b-256 0795f5faf09e52f5eb5286f5b31709601461f5db08f78255e301c1a3b2db440f

See more details on using hashes here.

File details

Details for the file oso-0.20.1b0-cp37-cp37m-win_amd64.whl.

File metadata

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

File hashes

Hashes for oso-0.20.1b0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 7ff5658985c43a255d194f8cda2979d66acab6f63cb6f33e4a607bc5048f870a
MD5 7a70a8e349ee64e18b308f5201199999
BLAKE2b-256 f8961f00966def8a8da306bcc2db137c9cdc0514bb150eb118b7eb95efa830d3

See more details on using hashes here.

File details

Details for the file oso-0.20.1b0-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.20.1b0-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.6 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.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.7.11

File hashes

Hashes for oso-0.20.1b0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 76f42079f8189a8cfc6a07f56b70fa1dbc38e8f9c0ef7cac7ac55d6e817001dd
MD5 ecb216528c48bde67d7e5e13a10b3e08
BLAKE2b-256 8c936d50f2262c53e77e9697851d787388841de7384f4c8fe8c3735c7d993317

See more details on using hashes here.

File details

Details for the file oso-0.20.1b0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

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

File hashes

Hashes for oso-0.20.1b0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0d2a4e85de87594f668ae79e3f2b0e7229217092b240a50cb4c776362c8569ec
MD5 a494e7276fedde3d1ea719244bc1332c
BLAKE2b-256 46d82924d3b2ca6b7d319e87ab4db3d1204a2436265ffb9eccd927516fbfbd00

See more details on using hashes here.

File details

Details for the file oso-0.20.1b0-cp36-cp36m-win_amd64.whl.

File metadata

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

File hashes

Hashes for oso-0.20.1b0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 fb7b4ff7336d5b9bc6f2801581fe234c8efe209160bae639b277b5bb0dccd808
MD5 a222a50cb9ecd047bb6822ec6a37a1c6
BLAKE2b-256 a42b9cd230e10050e9a025a931b19f5001d0f313b4bbb20bf7eef10fb2648a8e

See more details on using hashes here.

File details

Details for the file oso-0.20.1b0-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.20.1b0-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.6 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.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.7.11

File hashes

Hashes for oso-0.20.1b0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 650e749cf16359d93cb90bcde89d1b91cec21db15cc96b488c2c937f9ed5e8a4
MD5 cfbcb7829659294a8fe22e2f6c1a56f7
BLAKE2b-256 7e4c6c9086328d0e49e2ee07515e03f8ff9fbe987863f60350dbdf46d1fea30c

See more details on using hashes here.

File details

Details for the file oso-0.20.1b0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

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

File hashes

Hashes for oso-0.20.1b0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 464189245097da512a25ae438a032b7f498cb31a40b92b3f96e574538ebd61cf
MD5 09a0a4ffec973a72e17a4585c7ab7b88
BLAKE2b-256 9f79bc6c9281ce5734167ee18e122dbbf3f2d7138e3ea41a578c4eb206956028

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