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

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

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

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

oso-0.14.0-cp39-cp39-win_amd64.whl (666.1 kB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

oso-0.14.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.14.0-cp38-cp38-win_amd64.whl (666.1 kB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

oso-0.14.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.14.0-cp37-cp37m-win_amd64.whl (666.0 kB view details)

Uploaded CPython 3.7m Windows x86-64

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

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

oso-0.14.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.14.0-cp36-cp36m-win_amd64.whl (666.0 kB view details)

Uploaded CPython 3.6m Windows x86-64

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

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

oso-0.14.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.14.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.14.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/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.11

File hashes

Hashes for oso-0.14.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 83c076f79f96f283c547a1e9ba8ef1978b912999157ad8891250eac9db17280a
MD5 5692a854508eeebe4dfc392dad3e8d40
BLAKE2b-256 c1e63a206b30913ff7c25c120f58830757f698b35d2a2988b143c7efe4bccbc7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.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/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.11

File hashes

Hashes for oso-0.14.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4ee395d8651b4f741e370507d35676c33f8da9f9c64daa7d609a2e431d821f83
MD5 528657334e5da37ec0118301369ae054
BLAKE2b-256 ed622e0a41308e18ea4e0d463081bf571c81d1169d875df7699709a3168ed9b8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.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/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.11

File hashes

Hashes for oso-0.14.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 1e34aa501c2411997608596cfaf22f1668c32880a6b52a3adbb122d61dfd090f
MD5 3e665d63b8557be57fff3552f1a848f4
BLAKE2b-256 009453f3cfe44646a7a7694d8ae42b27dbcf1b4e44131caf9be1a3b6c1531382

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.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/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.11

File hashes

Hashes for oso-0.14.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9c79c8e731b887b0be0ca98f4fd7cb1f7b252c27d4188d62c19839f1da83919a
MD5 3547e5e341a3d6fb695547c45e72e801
BLAKE2b-256 9ff3732fa695f38dc3a4131837376eb64a3608e6ea8e74e03344afbe96ac9d5d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 666.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.11

File hashes

Hashes for oso-0.14.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 32aad1070ca22bf6e7e447a2a200436e6b84e095887ee4ff2e4a961568f7818e
MD5 a48c36a839c25611429e442e42d47340
BLAKE2b-256 0ac528ea22c689983af87b2e10e80cfc1defca1ba4958fe9150864007008efce

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.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/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.11

File hashes

Hashes for oso-0.14.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 1ed127aa24e232ff1e8057fd7d2c5cada554fb6c03b103d5ebd4512b7bfcc4df
MD5 e4d08e869358007cc029a6e219679ec8
BLAKE2b-256 b256b147c7d244e7b5b81d902fd69660254aa2656175a9af5679893424a1943f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.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/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.11

File hashes

Hashes for oso-0.14.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fc9488a2f2563f7028fd54f0c98c3184bf3047fae16b92d34cf1b2579caabc4a
MD5 1e7f1afe5aaf080a31e53caa28fcda2c
BLAKE2b-256 eed647bdbac8317e3843057a348198b9805cb292cfbe3620a66774c711c6bad6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 666.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.11

File hashes

Hashes for oso-0.14.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 fa758823d61fbfe8f1655caead44af425f8a48dcbfb860c8d6cd9794dd25d165
MD5 fa3d1bb2d0027659f9a39c211853c152
BLAKE2b-256 9a1aa23141831c9428106bb09e0088c99449ac4548033c7f1a138d2f3277e062

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.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/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.11

File hashes

Hashes for oso-0.14.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 c38888166412c62230ae29bb5add535ace9176d2b76a5df6fea89877ccbee852
MD5 795476be5b19f219ae98b42a8cd61b3a
BLAKE2b-256 f8f6bb917ea08b1d1f48b6e4b56ad2006533de0b0cce853780387d27f4bb4e6f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.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/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.11

File hashes

Hashes for oso-0.14.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6de63a4acac70f1ddb5ba1ab891236c1333d7b17081572a45224b8ecfe9aa628
MD5 8ad8307e917d02da808cd578d97f9bb7
BLAKE2b-256 2e930b63668a933d02c2b75d79228726aab6464967181afd6f88f948b1a50e21

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.14.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 7c8109f26a5d165489b354c776f15900c69c0780c9687756d8cee46fcea27b88
MD5 c593a6a994ebf8aa494a3d82394002aa
BLAKE2b-256 6faecfd55284e9d84ac81aa5873a5e9d4418e5f69523474aacb4f12760c3871d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.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/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.11

File hashes

Hashes for oso-0.14.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 3733c147bfa1dad10c8d34ef3833a57bb401f81fbee1eab74bdf21351a5492b1
MD5 46eb2d7c19951497bfbfd98a57fd1774
BLAKE2b-256 7d4a92d155fd4b8e35f36e6d2e59a144ffb07a11359a7f6d1d0a0cc0d1b739d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.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/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.11

File hashes

Hashes for oso-0.14.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 09a0cd8c1bc8550d6e9c46770bc842f10958cbf19c3f801a31045b41825420d6
MD5 838404d6c2df1dae35a7b6e7b61a97ad
BLAKE2b-256 dfcad046b6b832f6de7dfe619bd1fad7020eb245b9938191b467c789cee9dd6d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.14.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 0dfa487252185e2442831136d4d5fe7a24a164811d616d211dfa19c05095c132
MD5 57ab3af9c7b41901c6a6e0b8092bf4c0
BLAKE2b-256 8c6307cf58aedc130dde93675e94c627a49403dade4d2f5747a78c8cd4f583ec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.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/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.11

File hashes

Hashes for oso-0.14.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 3277a6e263173eb88c6d3f0d8a51fc375867a19cadb181a4ef10532d047294af
MD5 cef3742497ac2ad30865872be1a77f13
BLAKE2b-256 f69e9771ef0ca7d6ca6b0f0a02737389d449a7fee0b740a09c412891445558c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.14.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/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.11

File hashes

Hashes for oso-0.14.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c8cf79057f111a35b5ccc096bbf8968862a266852e9fa8a167acaca3aa0937dd
MD5 bd5ce284af9539763e656451bab58949
BLAKE2b-256 5e564c5e4b76b418581402e72e62493dfd723bb0e422124856bef4a8028573c6

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