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.

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

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

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

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

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

oso-0.12.1-cp39-cp39-win_amd64.whl (656.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.9 macOS 10.9+ x86-64

oso-0.12.1-cp38-cp38-win_amd64.whl (656.6 kB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

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

Uploaded CPython 3.8 macOS 10.9+ x86-64

oso-0.12.1-cp37-cp37m-win_amd64.whl (656.6 kB view details)

Uploaded CPython 3.7m Windows x86-64

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

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

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

Uploaded CPython 3.7m macOS 10.9+ x86-64

oso-0.12.1-cp36-cp36m-win_amd64.whl (656.6 kB view details)

Uploaded CPython 3.6m Windows x86-64

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

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

oso-0.12.1-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.12.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl.

File metadata

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

File hashes

Hashes for oso-0.12.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 9601fadd16b301924890a0457ca7251dbb0c6b4792a2910332e2cfd0fcf8c0b1
MD5 b797a75088b3b7c0081c09a3ad13d03f
BLAKE2b-256 45ea473c6cd1a0b370890fd31a97d4071098c864ab0d2d00ec38c06391879b0c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.1-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.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7c50ad5cd4608e37ebd4fbbe4ebb58e89dd4a6d97cc7787097f7ee7cec749814
MD5 363845f3a6c6d05d6c6aa7d672a32409
BLAKE2b-256 7b37a8db2a66b8ea3ce544c9f1838a0b14f54d587479c797ad88e2ec8315dcdc

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.12.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 6adb0a8c97b97f770df3c68809c8a624bc46556020701d1c8579fd263253ed71
MD5 1432b679049b043a6ad8e2384ec4158a
BLAKE2b-256 f5f96d911a749f1eef4567d060e168b5b8640321496e85840482524df9db9105

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.1-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.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fc7dedd5e11c5a7e2a7cfd04084785bbc74e9b7ba78e7175c95fbd774141b3a8
MD5 00c23ae6f31dd1ff626eef9b0e8cc906
BLAKE2b-256 98d82bfb6ed25ab9824df86e2bb1326c5e6e00f04e63ec5c49de80d65a67b2f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 656.6 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.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 204bebf7883f719ca60f309e75c7dffbba8b616440ac0d341471219a7abc2b0d
MD5 0746d810d6eb77caab31fb4fde970a9f
BLAKE2b-256 2f322869e0f94aa5b70e8e31bc8b089303c0bac12170a7e66ce1070e4b4206fb

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.12.1-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 6f600f6baf3020a3296fe04cc6e543d13dd10a71d1580f61ab308e30a83ae9d4
MD5 6b1b8272cd31b44455e3743bb57866cd
BLAKE2b-256 a7eed87f2019032d0c19eca89e9ad874d0c77a460729acdd19a738b22df93d76

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.1-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.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 813fb5e69093e91b8bbb9a733746cbee560a95017b46ade23811b6a70495e0db
MD5 dd717b5382f73bcfd0458d11e5c31d2f
BLAKE2b-256 d50e0f714b320c32b70a34a8598687287f6e0b1e28490c55f6fdf98d95ac7c13

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 656.6 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.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 26c3ddfa2b37440532cb0b547cbae2384c32e8365f9af166f195d47d84ad290d
MD5 9484945322cccc27377e859e4383e605
BLAKE2b-256 5c655021739993fff14a097e2b0a928e6528e63fcbaf15cc0a6c9e6eb4986854

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.12.1-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 6fda0fc3b658ed23053ac93c0ab380570201135d30ba49f64a2f5466a89d7687
MD5 d9ff47ec905d423d5e7dd49881ef4e06
BLAKE2b-256 bcd443945f0250035dedf70af4502d351e17fe9c0c9f6d80e5af98ee4bee09b2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.1-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.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cb3abc18ce1230a2e6743579bead7b53996cd1e93b5cc7e558fe6ac0c09a4e85
MD5 a4d7520d2b823a566aa79338bd02720e
BLAKE2b-256 9d7d7298699f646b43f8aa90acfebd7c885d9743e72301e83ec501a77626ea12

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 656.6 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.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 5dbeb87603da2667bb7807f86e02132daf47cc9ac2cbcf37f220d9c57ba62a46
MD5 15b7bfa0149cb8652f3c3356e7b017f1
BLAKE2b-256 30243b338c633938eae6bebc295a3497492200198c5bfa2101e8f1792e146b23

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.12.1-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 26a2218fc3057b83b02de2801c7a29e11a8d2766eba1bf9c86caa004c256f844
MD5 ddebfe0ec4f106cd505bfca987e096f8
BLAKE2b-256 94aa5ec2f185690fb1ce73ce5dd42567dfc743434b83387672052b523e40c660

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.1-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.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 865bbc63323a8aba2b4579a05da4a29b0dc222ea8667e05e3d79a1aca5f57e65
MD5 1c535805af33df363aaa4eae05e22adf
BLAKE2b-256 ab43351e66fc85c46e75dea3ba084e647a28caa897cf907c823d1f7f6e862a3f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 656.6 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.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 0a5bc1f2209307ecba3d481702b354aa15b7b3c4fa7951e29458f49b9bc2cd74
MD5 d156ccd9e99de2572b1f165515e1523a
BLAKE2b-256 42574e4bef775f6f062c62c5cddd0f4f4fa76f6d6027cbfd75a2c82d020cc0c0

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for oso-0.12.1-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 64a8d0c8107eadf14dc1cc42ded8ec86bc3576ffbfd807c87525a2faff10b92e
MD5 59ee45bed5ea243aba8abc4775eedf79
BLAKE2b-256 8aabeea268977da1739ff912a5bc48269b313e28b5ba6e91a8fcd83cc5d0e6ac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.12.1-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.60.0 CPython/3.7.10

File hashes

Hashes for oso-0.12.1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 235c215ab954b956f0a85da156965f61aa6cc5d958b184a95c01b5f14d54665d
MD5 a8728e0838f9e7239260f30966c9afa2
BLAKE2b-256 4fa64f8d0bc8be1ab88b9f4c6f850e4bd42a45244fdc64f28002d00b7b23048b

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