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

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

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

Uploaded PyPy manylinux: glibc 2.12+ x86-64

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

Uploaded PyPy macOS 10.9+ x86-64

oso-0.20.1-cp39-cp39-win_amd64.whl (837.2 kB view details)

Uploaded CPython 3.9 Windows x86-64

oso-0.20.1-cp39-cp39-manylinux2010_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

oso-0.20.1-cp39-cp39-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

oso-0.20.1-cp38-cp38-win_amd64.whl (837.2 kB view details)

Uploaded CPython 3.8 Windows x86-64

oso-0.20.1-cp38-cp38-manylinux2010_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

oso-0.20.1-cp38-cp38-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

oso-0.20.1-cp37-cp37m-win_amd64.whl (837.2 kB view details)

Uploaded CPython 3.7m Windows x86-64

oso-0.20.1-cp37-cp37m-manylinux2010_x86_64.whl (2.6 MB view details)

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

oso-0.20.1-cp37-cp37m-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

oso-0.20.1-cp36-cp36m-win_amd64.whl (837.2 kB view details)

Uploaded CPython 3.6m Windows x86-64

oso-0.20.1-cp36-cp36m-manylinux2010_x86_64.whl (2.6 MB view details)

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

oso-0.20.1-cp36-cp36m-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: oso-0.20.1-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.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.20.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 539ee8d365cc02b1e54d1e107b44063e5ef50dda5529ec8ad3b9860c4a5fc739
MD5 62d9c6cfec428d074e1e30619d2d1f33
BLAKE2b-256 e50974038b96fc89b932eb748a7c543c72b3c4b3629f63fca1075c684a7f5328

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.1-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.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.20.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cf4dcb18fa6854ff2fc736c3e883cc5437c6d378763ec3d9facbeebf5e3757bd
MD5 e2a2c606e446ca30bce09d487a2d1ab7
BLAKE2b-256 b52345d2bc06d7dca9cae17321e57f51915cdd1397df1df46f0299607154070b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.1-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.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.20.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 912827078ad84bf4723cb12dcfae13eadb3f713c3b4fa032dfc4df5eedf27fd0
MD5 52a990c365001f400eca90ae96da18f5
BLAKE2b-256 c4269bb6a083f583d726106ad8b66e19b6a5140e5b99f792c89972a4b2bdcf27

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.1-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.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.20.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4a5791f83de5ae3ff7882f2944ce09c38676d7f9ddb35a2a726d75aa4fb12827
MD5 8856df05ed374c0326551a5836d74dd6
BLAKE2b-256 f7f82771df1c4f0f9b762ccd9c237782b16be40ce40c02cbb253061495e8bf15

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 837.2 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.20.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 120a988caee6ea8b7d6b775dab9847d357d3fa846fca9dd7f621b6be69483b08
MD5 c40f677c93be824944e02006ca987ac9
BLAKE2b-256 5c93dd6020575b94754de87eeaec587dbe6deff67abd37f97fcd7edc467cfd16

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.1-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.6 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.20.1-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 98032efa9d49f33e92a9b1fbb6a3b026f16eabe580011a22de29e5c8aee32470
MD5 5fe98709d96d2a4a0cf7bba8b33209fd
BLAKE2b-256 a3ca30e3532b63a3d67aec73b5b7214b035179255663626163b0b428454f603a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.1-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.7 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.20.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2ab887bd90c0fb92b21cef0db2b62d88bd9520443391ae63d7758baec012bb33
MD5 f531d1cc0b5c33e90e26ea900b94cc01
BLAKE2b-256 84bb55b181fded170d9d44f169a25ed84a5ac4abc95778d9bf2517de220edd46

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 837.2 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.20.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a326ae7dd148c0dca9123721a01a342288b566cc97497f6c9aa159daa198f056
MD5 34d2da2d9ad359713760afde755aec4a
BLAKE2b-256 d7171f7176479e6a567c6e4772e4a33c529da853826fc2564a1b7a905ecac35c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.1-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.6 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.20.1-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e3bae5121dcd3c7f87532519a251de8d1565dc22a3f7fd898d3c4d0fea4e11ba
MD5 9b55b53ae35114895d91a6487244b3f2
BLAKE2b-256 bf9eef5c08698034e29748d0d76fb272e9c71d69e54c972effaf4da475aa3ba2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.7 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.20.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 84a88e8331465eb6b206da7fc065d96402d1d060a1e07ce619567eaf15803c68
MD5 10fa60e5eca7a634bd57d404870d9963
BLAKE2b-256 89966fb9b96df8e6b93cb87215dbf58b8f5c567c410c4f2f91716bb8b91747f1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 837.2 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.20.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 ebc74addb6344ce48e73c1943e04281f21b524b29d3af37f329e58d4a0262e96
MD5 e1240a8f3a85e27fe0840b92999f52e7
BLAKE2b-256 b0407a22b549a4b4e11c933b5acaa979c6caf8fc4820ea9a3d49a48b5ce269ea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.1-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.6 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.20.1-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a5a5b26bb9d696b11322bef83c87ae2374c69b477db3b470e8574c3f048699d1
MD5 9698b2cadd964ca430be2eb4c2c0fd6c
BLAKE2b-256 dd8dce3aeb57eb1859c70fffceecc6f8efb881e66651cafdc837858ad7a3e838

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.1-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.7 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.20.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b5a6fff99232b958c57a159893a3a029ddd4ee63ac067ac6f0c3ae585e8e8e60
MD5 99abd6b349735f1887b5bf694fa78843
BLAKE2b-256 3d6c2c4c72edd40180cbfb49e46070f95cc3b5e44a040e8fa0255522e3ede89f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 837.2 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.20.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 21fc0ab44ead5b997e0d85fae3d7f9e99c74f046eeb772b3bb05cdaf3ac83961
MD5 c502c5a470bbca4e45493623daf7eacd
BLAKE2b-256 6a3fb96ea45eaa8f2f18dcd88287e8ffd602a68b6a210581068af54f1e9c3d8b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.1-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 2.6 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.20.1-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e10f8236794a2c8d1e7fd24b6c4d1f6c363480d69f25577b37072a4d1af58ff3
MD5 a129562cbdafdd29c60e65bdadc4e1e7
BLAKE2b-256 fd414e60de4218819d4c39b7257b64decc4afdf445254f6f4639d7bd7333d763

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.20.1-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.7 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.20.1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6a044c4592399591f49d0172324ade6367dd6de32b10d0d16b5daed58e7870b4
MD5 d02f0fa7f6fff2c4ef307e3ebf80d177
BLAKE2b-256 896552dacad3e8787586babaf18224a213a887aff69d11a33a0bd6aec8b4dcc9

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