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

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

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

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

oso-0.15.1-cp39-cp39-win_amd64.whl (686.9 kB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

oso-0.15.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.15.1-cp38-cp38-win_amd64.whl (686.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

oso-0.15.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.15.1-cp37-cp37m-win_amd64.whl (686.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

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

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

oso-0.15.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.15.1-cp36-cp36m-win_amd64.whl (686.8 kB view details)

Uploaded CPython 3.6m Windows x86-64

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

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

oso-0.15.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.15.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl.

File metadata

  • Download URL: oso-0.15.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.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.15.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a25c6df3d691a24e4d850daaa507ae44823ff7a235b352a09f4c8f259697eff2
MD5 88b838d3e33db30c618a2a801854f2d2
BLAKE2b-256 5ec8fb766618e7318241fe0b6de9c281acd4a1b66abb69f9d0990f20198b893b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.15.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.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.15.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5baa419580945f0ff72484f2ffa8126a05e256be69a20a36d34e3f73cacc779f
MD5 45904c9685ab99f3bb806c013f2ec2ed
BLAKE2b-256 6899457334b89d9bbf1a191d217b91929c5722519d538c77db1683d341e0815a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.15.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.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.15.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8ccf47e53e5e806de7e6d4d85d01ec762e0c7f415a54cd23b886e51a5f959c33
MD5 7cbb2c97e415f1f1168b36c879022b57
BLAKE2b-256 4c14e5b706db058fc0996ee35ede2f9086a7fc3d6c6cc9db082fa39e96a91a8e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.15.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.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.15.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3a27480e6d540a8500a4905d6f39b63a6873050ebc484a3aa8fadd45b0c71d6d
MD5 684ebc9d5971af1364cf827514d2d97a
BLAKE2b-256 ccf4e81de4349607a623a3b9139cd34eb612022f803cdddc23f59a10c29e747a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.15.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 686.9 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.15.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 738e8b0bce2d6094f9a0d618f8b1d5e3adf883a7ee6c9ce39c5a277b0e6d7196
MD5 bf94d6b8df8a93b6e8c0578d3dc4223b
BLAKE2b-256 7a00b18db9eeb06c6c05b16afe1e64c1236cb20edb8bd772ca38b7637c8917f8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.15.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.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.15.1-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 aef468789a2a4240649d5aa9a57ec892c276bb621790058980997795fa1c6ad8
MD5 eee0d20931cc4e7b692abbcccad8191f
BLAKE2b-256 37bd5d38eed48e62be4d79e15278223bc35799b519f5fbf1c5f8b24b602172ff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.15.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.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.15.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1f6d4cda72e27453db1381f327a9fcdc3cd870a06ae7e6ff3d92df32778047b8
MD5 adbd7468ed85a76a74d55734c6109320
BLAKE2b-256 79c7d4e6da5ad1a237b4ff96d2048d84b897c074a557695dbb81ea04d1f50c87

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.15.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 686.9 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.15.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 cfcfd0068f4ce7ad842d8ac3964c99de57eff82ef38eab89d715dc712110e785
MD5 162802f9637b916513995517a526a4d9
BLAKE2b-256 372c36496196feb06422144fae919f66db2c9c2f5e5b4cf8475e5a8bc43d7c90

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.15.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.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.15.1-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b109ed43b979d19c3f108b6f6b4b9da23a9247e7d390cf079576890b20ede3b9
MD5 780bf0604a263da2360796200191d0ce
BLAKE2b-256 c3d450db8b7072afa718ab7087c698e99a58fa7f953439459a3ae9b2d7025e16

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.15.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.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.15.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d083cda0c045b8b9db866cb8aac01325db431f2fd27e546baba7e89812b47112
MD5 c3b813c3381cdf24394926014cb914b1
BLAKE2b-256 af275dbe990d61f77c910b18962b03707bfb25b237860ea760f0a39368d65edd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.15.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 686.8 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.15.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 9e445b88414ae15092fb1231e799fc39927e019aa56e25ed1f79c5b32e4f4416
MD5 12ad8447541323e5eb0bd77c8ba6764a
BLAKE2b-256 52e6495783541cb02df1799cff93a87bb3077e7f3f68963522194009735782de

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.15.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.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.15.1-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 4912b6266bf707d5ea91364c4029301db1ed09816b87b5b2e8cc7936de42b594
MD5 9ba45021653867bdfe2cf3d1c9dd3498
BLAKE2b-256 ce21aa944b84950b0421b5ca18662716b9f09ec539f6900cbdb90ab54f057b98

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.15.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.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.15.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1e5dfb9f0b668650d2113b2c52a2fbc0626192b8b3e2cd4de47036514210d6bf
MD5 1157e8eb781e6873a80447de9525dab3
BLAKE2b-256 5a2d693acd269361a2369f3d978cd90895394f8aba740a719308ff3cf1189e08

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.15.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 686.8 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.15.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 af7014179bb0734c4c1b6b1efb5ec48de630ab54f4584f35d7262e2c4a971503
MD5 4116b62f435369da596ae292646b533e
BLAKE2b-256 f6ada14600a5954f3dc01aa20f89a775394d833f50ac0d7161bce600b1b98004

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.15.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.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.15.1-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 77da886c8e75a02f260ae16fb6d94e528f8e267cd1e617097c467b21e1ffb36e
MD5 15e82593cca9d05c16328293a8bb40a8
BLAKE2b-256 3015563aeaa2ac7128638a99e51a7e7cbc94bedb8b97f3d01c782c945f08c2b4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.15.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.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.15.1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4e9c881f6a6275f9e329508e980ca1aa01d06d18978cc742f24ba99f4030d5c7
MD5 8cfb817d5a3fa7e6f6c3e46f61445bda
BLAKE2b-256 1772dec19afc48661bff60438c03d5cca54495511f1e3d4aa7ad73dc87aadb48

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