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

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

oso-0.20.0b0-pp37-pypy37_pp73-manylinux2010_x86_64.whl (2.5 MB view details)

Uploaded PyPymanylinux: glibc 2.12+ x86-64

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

Uploaded PyPymacOS 10.9+ x86-64

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

Uploaded PyPymanylinux: glibc 2.12+ x86-64

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

Uploaded PyPymacOS 10.9+ x86-64

oso-0.20.0b0-cp39-cp39-win_amd64.whl (833.2 kB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.9macOS 10.9+ x86-64

oso-0.20.0b0-cp38-cp38-win_amd64.whl (833.2 kB view details)

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.8macOS 10.9+ x86-64

oso-0.20.0b0-cp37-cp37m-win_amd64.whl (833.1 kB view details)

Uploaded CPython 3.7mWindows x86-64

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

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.7mmacOS 10.9+ x86-64

oso-0.20.0b0-cp36-cp36m-win_amd64.whl (833.1 kB view details)

Uploaded CPython 3.6mWindows x86-64

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

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.6mmacOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: oso-0.20.0b0-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.6.4 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.0b0-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 512cae253b459238c4ac9709ed7a2611c42d32f75be5f203c3bac154ca4c99a6
MD5 16fbeee9f5059df243da6cb70c841666
BLAKE2b-256 2922f9ad38157dfc7219cf9e2178cd0c21f16e2c46ed4dd1da3f9325acd40a2d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.0b0-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.6.4 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.0b0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0a19d55fbd200fcbb27c17f1fb417ee77caf36c8db3ea25557d45247776daa97
MD5 96cdeddbcf32811760191f4824b1f0f5
BLAKE2b-256 303778b8f01f553206eb44589ac84fb1fd0b548e8bbb70d98d1226895a7f15d9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.0b0-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.6.4 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.0b0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 cf08d36ee304eaddba391e4d87001cb154b3517a50936769f5826542e59cca70
MD5 83201b3b8af5cbcefe9e8e7ba2edbfa6
BLAKE2b-256 c0441b5f1a5260d29c615facb2c05afd9d535cee2127af10de166a46d1a56fa7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.0b0-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.6.4 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.0b0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5377dabd4df528255c78e6b9284cdddaf4c48b3684a5bce351b67062d4ced833
MD5 c34a3167d1c09c69c31dc0bfb28021dd
BLAKE2b-256 d0d50c9fb7f7342eedf5e89fc330ef9d366cc0c6e50859c3d93eef79f7f82c0a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.0b0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 833.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 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.0b0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 069a6e938374a1c497c4dba66d904f9ab09277d28925d16e830f4ad32bb5b323
MD5 ebec46806cabce6e8820572eef6b572b
BLAKE2b-256 288f4b01d1e6ee74205e1b6958478cb5c0172cc6071bca5eb9765cc68e25f5b8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.0b0-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.2 importlib_metadata/4.6.4 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.0b0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 4ace653aafbc334c2c4f794dd12574ab3d4563b6e376017a7db70e59f02d36c4
MD5 bece84e44f40b8f6f128c9dcd6fcb670
BLAKE2b-256 fa233cc78200600631b91a168774c8aae49c0c44de87b22cfbc357646d2b4aef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.0b0-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.2 importlib_metadata/4.6.4 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.0b0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b3d935cf25ad6971c1baac75b9517c61f4030276d5b6e965ea5b8798ffbf809f
MD5 3f752a4af1bce26acd9a57e493062cb5
BLAKE2b-256 26728abfd18bf1173d7ba5b7d2277263fa1f0869b6e8fb02d8501bff502c4987

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.0b0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 833.2 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 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.0b0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 9b21243b7e90abb5af304a1efbddf8a5ff3da7927bcbb4d8ca2b03574ae19d28
MD5 e597ffcbe8d9ddb312106dc445c4600e
BLAKE2b-256 76e6f0f4f39e9db70880dae744a917ae5b0b615d056ca0bc87c415ccd8688dcd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.0b0-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.2 importlib_metadata/4.6.4 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.0b0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e6dea0400a693e7fb3031ef66a4a7129a2bbf314c511bb64b7f63aaef400307c
MD5 916759263ed95ae6ae26fa2e6a4e6aa2
BLAKE2b-256 65f673ba7362b629e78869d1d05d45b30fdd991b12a735aabe180bab444c50c9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.0b0-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.2 importlib_metadata/4.6.4 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.0b0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3c8ea6875ec0d15d313df883657197e94a5382f2a4cdaa29a5ad7ee1c89c0787
MD5 92bf88167dd15850ee3f1e5c1dbbcd6e
BLAKE2b-256 f1aed0f90a4ea7012adab8b7a80e2c8ad06e9b14e3d1896412328d6e1523cbcb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.0b0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 833.1 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 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.0b0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 f256e95093b872e24dfafe53e68b0a23e27b5a1b59236d8f43ac2b15a20d49f3
MD5 d2c69b6e6c1eda0e226278f8afd0267d
BLAKE2b-256 d4ee89c005e3a20705ead4c487afbdc8954d98ffc732519193049232bb89dcda

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.0b0-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.2 importlib_metadata/4.6.4 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.0b0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 f3fd8ec27df91c10035cf61c16508e622d9a348900433390002845222d1464fe
MD5 4c734abc6eab92889ce556a1c75e702b
BLAKE2b-256 f2c65838f4c4309fd3ffdd0ebf4c38f2df9f9dcbfa2899235a61a70852990ca1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.0b0-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.2 importlib_metadata/4.6.4 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.0b0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6d84ce12f3ddfa42306e4a916c1998e35a80e4775b0d5af2b90e5db251771740
MD5 b188729e007947368b09c09c98a76a6c
BLAKE2b-256 e18cf75e85423bf1e7711e97382dc8573f7f88d4e85e7d9ca2ad1638c128bd4c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.0b0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 833.1 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 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.0b0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 4649ea431acf28afb0f24dd59bccbcec89dda2d7f472d1dbcf9d9ada8f23a18a
MD5 5adf205a36a47cd178ddba20d0ffb6ec
BLAKE2b-256 85d01ae58d59a714fb223eaef5eb6255911a5237da3e2d109ffcf313813a8eb5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.0b0-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.2 importlib_metadata/4.6.4 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.0b0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 c285ae6b1e75e54c3c86b38cdb052f2f5e6471c5ac424aac92cca016f1c61182
MD5 922a187dd361a6e30b861dcb664f3831
BLAKE2b-256 142334802673f5ed9c4627d9addb2920d06a3d45e4c58d034fd9c0b28ca9c4af

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.0b0-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.2 importlib_metadata/4.6.4 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.0b0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8abdc204490b3856e9c58e0f8574cb617e339b1b6c4dc5413ec3c850f6a9a442
MD5 0fb453aa0ecec6a9a3f19967debc843d
BLAKE2b-256 a9d68e6b92df96b097ff3856df8f5d90feba5df11ecdee944c4f5644cd17edda

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