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: 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

If you're not sure about the file name format, learn more about wheel file names.

oso-0.12.3-pp37-pypy37_pp73-manylinux2010_x86_64.whl (2.3 MB view details)

Uploaded PyPymanylinux: glibc 2.12+ x86-64

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

Uploaded PyPymacOS 10.9+ x86-64

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

Uploaded PyPymanylinux: glibc 2.12+ x86-64

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

Uploaded PyPymacOS 10.9+ x86-64

oso-0.12.3-cp39-cp39-win_amd64.whl (642.2 kB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.9macOS 10.9+ x86-64

oso-0.12.3-cp38-cp38-win_amd64.whl (642.2 kB view details)

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.8macOS 10.9+ x86-64

oso-0.12.3-cp37-cp37m-win_amd64.whl (642.1 kB view details)

Uploaded CPython 3.7mWindows x86-64

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

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.7mmacOS 10.9+ x86-64

oso-0.12.3-cp36-cp36m-win_amd64.whl (642.2 kB view details)

Uploaded CPython 3.6mWindows x86-64

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

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.6mmacOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: oso-0.12.3-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.3-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8ee4609ca4d0e12d3066e4287aeffe6c7a1a019a5de79c97b57ca2ade06aa2c2
MD5 bbd260d6c79cd833a166d8fff3bd828c
BLAKE2b-256 d353d1fd8c516f37581224f337ed6875e963a85ed48eec2fe2f90c176ad367ba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.3-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 90149a3219e204d9e682fc736af02f62c0750a9f528d436f495be04c2cf9e045
MD5 f13e49c88801131c10c8bf4ba4674cf0
BLAKE2b-256 d294aa3f3734ba7213e4346815a64b5c0bdc9ae35f0d92ee5dacc968644030e3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.3-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.3-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 cdc3d3c333aea864dce55c6af9869aacd843cbc9d7a48acf5ee159661173264e
MD5 9747c968bff5bec4c4f904e90aa0a343
BLAKE2b-256 c694feb50394a131542aa7133d0e254803fc05e6cf72828606c1fdb361993692

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.3-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.3-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 761c048fbe1d2e56ac44affcd0cdbf68dc53bb81ac8668d2d53898b68e03b421
MD5 0c3c3d26e410c871a270efe51978bf2b
BLAKE2b-256 06df845eb651a4faf2bef9ad40cebbcc7ff90b84a4c8e41553311ac00958de31

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.12.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 09dcbab8f9dc7f85a743a8a3973abeb6b4ca1b311f6a2a4e719de3e7055103a8
MD5 8a3cb7cf4a3c8e85ca0dab641f8e2a02
BLAKE2b-256 4bbbde423dcece061dd221babbf00700338c5a6a465a846860f1ad403f248f08

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.3-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.3-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 baa8565c979cf25bfb0dfb34e77d2f27d25fc02d297288441e7013620ee5f543
MD5 7ac355e0e878ef65540f6393b8402ce5
BLAKE2b-256 d60cb2ac836c5f801543885f069800438ef734d8e5d9de391916110a3d2efb1d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.3-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 18ab19bbc443fbcb48dcb6620dd61b1acdf7a33a80e4e5f611088e78f8b28af5
MD5 e4c5c6afef18c2791d6552613e64a714
BLAKE2b-256 574cc869064d0847c686467d08144d58dbbcd04fbe433066f050afd386108ee9

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.12.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 68a48ad22295237e2dcc75a3375da6db5309a45b3f2296349bccae5e329080be
MD5 60bbfc396ac62bd4956ef2b747f977d6
BLAKE2b-256 13457317cc96cff459ad38ccce168a346e999dee4e3e1f4126b9662d6ba7e98a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.3-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.3-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 54fd6b3b62d5c024fff23984638ab159e6fb3093ab3430a1bb65bc87cfd69d3d
MD5 fb364d0d0430f25c17137ef05f7b8130
BLAKE2b-256 342e6582591d0fd840b697d58d6a6bb12654339c0fc69988b4311f152af83460

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.3-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1ad76a59995b37a46621c6041fc647901e69c5572ed22ff76256955c781dfc88
MD5 686c41309927dff69e1dc14d8c2056f9
BLAKE2b-256 65ee0753192fca8cfe171f770da27ee8d482cb9270dea352e0552ff7754d7fde

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.12.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 cc598350ec1b1845061f6db716ab40a6e09af7585e9135774501062245ad0b6b
MD5 3f43f989eba7429e19805ce4469d262e
BLAKE2b-256 5d99fc141fbb711093d0755e6f8831bcc224e62f713ec2b5e59c7502a9c21454

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.3-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.3-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 896cf3ecbe5945b63081c0691ed8b6b2fcd50f0c1204de773d51f2ceb6534b6b
MD5 3867cf4c92a68aaaaebd37fc54bdfd92
BLAKE2b-256 3c635b610c7338e175b6804ba9e357a9986b17024cdd5ff61f26de321ee556bf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.3-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4e4f2ab9c00814bf0d3a26832e837936f9c800e78f96f54a2fae61cc4a2fe929
MD5 1bad7e25a317a690f2104992a595fc08
BLAKE2b-256 dab9936771239813e94a791c8c483ff6818b57dd3f0f3553cf548013fa636caf

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.12.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 32315408b17b3c8ed4225eafb5b3212ce456533dc324d0e5429caa390ffc75ea
MD5 20f8818e10957ebda8374ad4f21554ab
BLAKE2b-256 5da0e90d987067610d37420bdfc3c1344cc871729826d912acd61e448ea45bc1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.3-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.3-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 728c79bef6553b683c353425a32a32d99c0e9b86fc5277a4446f0b539ac85c2e
MD5 49b8e792edc3d65509001e1e11f263f1
BLAKE2b-256 b3197891781485db8b98c7b782722bf1c73f00121f57981e9a1417f19b8ebdef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.3-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.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.3-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 da446ae674ec113925e5099a298b3d6d3823ca7919978849b2ac906f5ecd1882
MD5 07f067c9c3772656a6701bd10ecaa20d
BLAKE2b-256 4ab80b5f39fe0b47ad95805a8f266ba50f0a7da8634cf7a3fc62926a934cd1b0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page