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 or open an issue.

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.

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.11.3-pp37-pypy37_pp73-manylinux2010_x86_64.whl (2.4 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

oso-0.11.3-pp36-pypy36_pp73-manylinux2010_x86_64.whl (2.4 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

oso-0.11.3-cp39-cp39-win_amd64.whl (646.9 kB view details)

Uploaded CPython 3.9 Windows x86-64

oso-0.11.3-cp39-cp39-manylinux2010_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

oso-0.11.3-cp39-cp39-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

oso-0.11.3-cp38-cp38-win_amd64.whl (646.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

oso-0.11.3-cp38-cp38-manylinux2010_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

oso-0.11.3-cp38-cp38-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

oso-0.11.3-cp37-cp37m-win_amd64.whl (646.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

oso-0.11.3-cp37-cp37m-manylinux2010_x86_64.whl (2.5 MB view details)

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

oso-0.11.3-cp37-cp37m-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

oso-0.11.3-cp36-cp36m-win_amd64.whl (646.8 kB view details)

Uploaded CPython 3.6m Windows x86-64

oso-0.11.3-cp36-cp36m-manylinux2010_x86_64.whl (2.5 MB view details)

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

oso-0.11.3-cp36-cp36m-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: oso-0.11.3-pp37-pypy37_pp73-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: PyPy, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for oso-0.11.3-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 fe93228fa8c3d2fe9d12b08f23de5a232ff4b670e1a4f10310da96215e8d5247
MD5 787718d6daeeaf91ce7e362914e365d2
BLAKE2b-256 2650a490fa46cf9d38275555b0a745fdfd49d484b1d6b1d1f564157a219a6a97

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0be4b6632100aea0e0bb0ffecf94175304b6759f6fbc4be5143932c64ac6bc9d
MD5 065f471caae349428d65105ad208e040
BLAKE2b-256 42ca40d5fe0adb6764ef401aeebeb6a00fa078d1373b9ffe273c33bb490e68c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.11.3-pp36-pypy36_pp73-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: PyPy, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for oso-0.11.3-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 fbf0f7838935a55d50181b07f3bbc9b93e2ef831b06492cf7c8e6f8c87612e21
MD5 99888bd81b98cab53b270ca02eb0018d
BLAKE2b-256 ce32eb361ea5fe3c4fe94d975cfdbb4efb426c66937ea3e3053c2fb8e5a20afc

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.3-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 51009c0f22255db54b69fcdc1d32f9921e54f132fc0089184c50071c22623365
MD5 38507129f0b52c986c04a3684425cdd7
BLAKE2b-256 eb4dc311dc56153a7e0517920739d0797bb06c82f037e4e9049dd2d42393ac87

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d087826c4fe3224943d0301feefd41739bf938edd5873b74bb475bd9c487f883
MD5 552407f9b73b11ffb61ce870df6984b0
BLAKE2b-256 d72bd042ad3eefec3ce5cf952a753e304676a8c8d30996747930f1c017102325

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.11.3-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.5 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.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for oso-0.11.3-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 d3f96707632b7402f63f5776c4f2044b134db608414acd31e1c1418f40bcf459
MD5 b73c73cb00f2489df5336731296a924c
BLAKE2b-256 23cb82d0ae46c57f0f66d77c3883d37cbe9665ca4aa1e9fb19711cbf1ccbe3ca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.11.3-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.6 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.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for oso-0.11.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c370b7465725daf9d3903bfb5f4e5d209ffc4f196c91b8c2212bd7315988dfd1
MD5 34731294c16a56ed35034f932c70479b
BLAKE2b-256 5685c0935d64b42eec6f76a7bce434fd041bcc6681662b442d767341b4c2e7b9

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 8fc9d8a0770dbf295e60bd4f723ba37cd3e55253d15b411fd00e9f4b05862244
MD5 18290d24fb8395dc4118ce40e2bb4202
BLAKE2b-256 93e500e6938e8b3e57d3f761875aacf2a7b8808bbf42558614329ec1f8dcb42e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.11.3-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.5 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.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for oso-0.11.3-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8ee3b06e0bc796e215f5879b4c3be378e1ddd0999f9e7a57aa38e436c60f4a91
MD5 18b9526b429286f8c668212efccc6b1c
BLAKE2b-256 f62571fcd23c8c7ea38917079bc75de60704550aa250fc72f27bd8d017fc7d33

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.11.3-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.6 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.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for oso-0.11.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b33efb0c93cf4f7c1f61bd65f61c8416f1eace79de877a6dc8ee97192bb648a7
MD5 dc7991f9bbecc3f78657d682e517237b
BLAKE2b-256 4c4ac6aab6cc483d878404ab59d2646063599c54a8a31a367816d79067af5f37

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 d972f01c770d70d491b7a2b68b76883a1fee732b1d2ce599075af89827dbd9ee
MD5 fd3cb1d042ee0acb6a009990cdfedf5e
BLAKE2b-256 f4a0150879f08e611f98047f74fa7341f0e5b2052a0ba228ae73ac1138831a79

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.11.3-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.5 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.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for oso-0.11.3-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 eb436eb7681264b45cbadd18d2a11235d567e3279fd07828c4bf391f82cb6fdd
MD5 ee2d6ec8b4e2e1da364eb9693133a900
BLAKE2b-256 174240ebeaef4950b1fd6ce9721b3818bbb4c96f6b8367bda1f395ae175e779b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.11.3-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.6 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.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for oso-0.11.3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c3cc7d2343bc8e3f178672c93ee91a3674ca97d7e9b1ba60bd003963301f9357
MD5 a23978fca05932d6515d3b50612f8693
BLAKE2b-256 12eaf156ce694f57ddd61520f70c1ae5ac346c59bb43c77217b40d2b34085b38

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.11.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 c4f3cc18a5e0875b5ed2a17ea4dfd8ec4a73244014eb036d9b01662405f17629
MD5 2e2cc6f1e7f9f2692a11121dff0bf7b7
BLAKE2b-256 e39c35d5c08036ac7f5ca5f5a232d3112e3cec73bf305309b04373a09057b821

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.11.3-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.5 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.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for oso-0.11.3-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 178a3a15569d6eda945719262422dc0797eaf706027ee8bbbe04579028bf257d
MD5 84d0a9f25ae2a2c217313030fada082c
BLAKE2b-256 aebf4351aacc8060b3f17a6e867fce7a04f696e2ca77c1a5d9e06879dcf69fff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.11.3-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.6 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.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for oso-0.11.3-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 870e3134d4f8b7a5148065ecac961470c7c8067604d01a3ff1eead794280c3f1
MD5 f3512ffbbce09aacac7e87543c6fc5de
BLAKE2b-256 3c221de62cb0ecb3fba9faee8647c05d0629dbc19b90027925e0a1c2ba77c285

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