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 framework for building authorization in your application.

With Oso, you can:

  • Model: Set up common permissions patterns like role-based access control (RBAC) and relationships using Oso’s built-in primitives. Extend them however you need with Oso’s declarative policy language, Polar.
  • Filter: Go beyond yes/no authorization questions. Implement authorization over collections too - e.g., “Show me only the records that Juno can see.”
  • Test: Write unit tests over your authorization logic now that you have a single interface for it. Use the Oso debugger or REPL to track down unexpected behavior.

Oso offers libraries for Node.js, Python, Go, Rust, Ruby, and Java.

Our latest creation Oso Cloud (Preview) makes authorization across services as easy as oso.authorize(user, action, resource). Learn about it.

Documentation

Community & Support

If you have any questions on Oso or authorization more generally, you can join our engineering team & hundreds of other developers using Oso in our community Slack:

Button

Share your story

We'd love to hear about your use case and experience with Oso. Share your story in our Success Stories issue or fill out this form for some Oso swag.

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.14+

Contributing & Jobs

See: CONTRIBUTING.md.

If you want to work on the Oso codebase full-time, visit our jobs page.

License

See: LICENSE.

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.26.1-pp37-pypy37_pp73-win_amd64.whl (940.1 kB view details)

Uploaded PyPy Windows x86-64

oso-0.26.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.7 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64

oso-0.26.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

oso-0.26.1-cp310-cp310-win_amd64.whl (945.7 kB view details)

Uploaded CPython 3.10 Windows x86-64

oso-0.26.1-cp310-cp310-musllinux_1_1_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

oso-0.26.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ x86-64

oso-0.26.1-cp310-cp310-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

oso-0.26.1-cp310-cp310-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

oso-0.26.1-cp39-cp39-win_amd64.whl (945.7 kB view details)

Uploaded CPython 3.9 Windows x86-64

oso-0.26.1-cp39-cp39-musllinux_1_1_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

oso-0.26.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

oso-0.26.1-cp39-cp39-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

oso-0.26.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.26.1-cp38-cp38-win_amd64.whl (945.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

oso-0.26.1-cp38-cp38-musllinux_1_1_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

oso-0.26.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

oso-0.26.1-cp38-cp38-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

oso-0.26.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.26.1-cp37-cp37m-win_amd64.whl (945.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

oso-0.26.1-cp37-cp37m-musllinux_1_1_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

oso-0.26.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.7 MB view details)

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

oso-0.26.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.26.1-cp36-cp36m-win_amd64.whl (945.8 kB view details)

Uploaded CPython 3.6m Windows x86-64

oso-0.26.1-cp36-cp36m-musllinux_1_1_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ x86-64

oso-0.26.1-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.7 MB view details)

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

oso-0.26.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.26.1-pp37-pypy37_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for oso-0.26.1-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 8a571086d45c0b0b2c77c616546a0c7f6a57f97c8c8f05a2c4683a0816b32e47
MD5 af6e415e7f355e945dbccb3f5c346d4f
BLAKE2b-256 c0ed942888e1696e42ae67d713f0a8d1941cb7f8f745d544b6449d13d46f0fd0

See more details on using hashes here.

File details

Details for the file oso-0.26.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for oso-0.26.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 0a347973e02d38e2652b6b654c3150723cd23f7cd9c5702746c2f4b4d528e9db
MD5 3a26e8ff8aaffaec8f983c51f6380d88
BLAKE2b-256 6f0e0ac8f43a871e43619c6e8796eb43ba7b7e67a7f30c300f826f42548d21d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oso-0.26.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7de7590904d514ced3cf10b2de78a88dad4356fb894e36d6e604c5ca0bd3e5b3
MD5 e37a93f8bf59e6b51e166c8445986543
BLAKE2b-256 2a5a0f851a62b12607434f2b664e7388ab64af602f9ec8f46db74c62c27e308c

See more details on using hashes here.

File details

Details for the file oso-0.26.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: oso-0.26.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 945.7 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.7.13

File hashes

Hashes for oso-0.26.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 213210b4a3f67f94362897f485d75bdd1a57167a407d031d6b2f0fb9c20dba2e
MD5 fcf0c71fccac8bf867c13494d6bf7587
BLAKE2b-256 1c82df9c8f2fabf561805e0302675cb0d49d93f5f36843e1138c24ea69360a2b

See more details on using hashes here.

File details

Details for the file oso-0.26.1-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for oso-0.26.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 3779150eb3f1271d4b4886d33e699920b99c03af4630aa001ebcc28aa48ecefc
MD5 053893d773dadf7d6213dfc5156d19ac
BLAKE2b-256 7b576bff27e9b8069995fd289c466def95bff33fac00ed638b7c9207d1550699

See more details on using hashes here.

File details

Details for the file oso-0.26.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for oso-0.26.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 9d94a76de27d58389f02b7e460cda9472b58c249d4acdcc4fa911c2a54de12f0
MD5 df5ab01e8e5e0e89564aa61a09212bb4
BLAKE2b-256 f43115c9e319ddffa061acdde0a450fcc4749fa66bf0129f238ea628c922d3fb

See more details on using hashes here.

File details

Details for the file oso-0.26.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for oso-0.26.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e80b116854be1a73f58da33f01c16ea7f12ca6773feb8fb48f9cd793c29f9f02
MD5 66ae7cad634da513a9df27a524fb5305
BLAKE2b-256 005b2a4dd79a2d83aa783adf636c3186b88b9d2794411339e84b079a27ec42a4

See more details on using hashes here.

File details

Details for the file oso-0.26.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for oso-0.26.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ffd393cc5c9583e79915a7d17be60dcfdf9359dd2d24b4dde4916e9523225498
MD5 8a39cd6578ed8955b6586d6f436cca6c
BLAKE2b-256 6cd76e76b36905a6c3f07d0a546c7629757572d85f5b2f5fdae7cb2daf2abba0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.26.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 945.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.7.13

File hashes

Hashes for oso-0.26.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4c8b89a8ea3167863c5fef2ba5bca16c03b941515485516bc0b00a5974460383
MD5 312178505f36a12d6dbf0cbfa0f542e3
BLAKE2b-256 9178e66e13717b26097986df1486c2e17f28fe3da308c0173a1dd11ca4ff94b6

See more details on using hashes here.

File details

Details for the file oso-0.26.1-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for oso-0.26.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 751922b49933cd45aa9786cdc4b4743a7ddd9573c92172ea4c385560777dd53d
MD5 7b1ea297fe3654168b8877e7abfac335
BLAKE2b-256 ab1e6a561f8d4141a7b8f7ab6a40be4df74482ef0be0dc32db0e5e4151241f8e

See more details on using hashes here.

File details

Details for the file oso-0.26.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for oso-0.26.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 df57a78d95a1148b9572d5312c7076bda5677acffaae9b94c48a11339da70b3e
MD5 d837407b2225c1c5848ecfb8d0da47b9
BLAKE2b-256 325d0957968f74922268ce1a15271db8c9c226b407ead3294aff678d5ffcd9ac

See more details on using hashes here.

File details

Details for the file oso-0.26.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for oso-0.26.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 39406c881b8eb47457e60b2e7eea29a22889cf710d5389b79326e86a3c1b540f
MD5 65465858e620000a1c8558231f4a6327
BLAKE2b-256 3fb7a34312016c533403790fb9ffd7bdfcc4c53155f53984c9088e1259208649

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oso-0.26.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2eb9b305b3588bd0f1a47200b41603766fe09a5cfe20ee4e6b334fefd9a46867
MD5 1b4d4225cf7ca857522447532eab6c3d
BLAKE2b-256 8e2aeb6324843966f7a546c6df87d5f004c95ce999daa03fea1689aa7bd69d62

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.26.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 945.7 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.7.13

File hashes

Hashes for oso-0.26.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 19da804c387f8aeb04e43ada86eb64b657e9e2142ecc147dfb57dc9abbe5aa99
MD5 022da1d77bb4ed0bc9da4e5287bb4b07
BLAKE2b-256 41fd1e3593c9f2375f1aee59d4b32473632648fa4ea092cd5ca58591a5112a9f

See more details on using hashes here.

File details

Details for the file oso-0.26.1-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for oso-0.26.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 353bbe09b0d06b757e37d806a35bd59ae283f5200ff0471352fd15dcd9840e6d
MD5 60462230f62afc2909d9defb4d3582fb
BLAKE2b-256 d7cc6b2b0d5410f48329054c5c026672306db091a209e5e4c4fbbc8223252060

See more details on using hashes here.

File details

Details for the file oso-0.26.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for oso-0.26.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 36171cc3801711cc09f5239dd018c517b80b4910ebb5b9eeacb3541978a69e4d
MD5 3593341066a503a723df84d3076e7244
BLAKE2b-256 34e6f0ac0a024ca50a3bfe98a02f68724ad5203afbc488ae0fa6a00744e7871c

See more details on using hashes here.

File details

Details for the file oso-0.26.1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for oso-0.26.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 373e626457d1f383657fad23cb2e523cf016b491d50d6ddefb762dd32cab9373
MD5 23944cc2054d1f3a16cb0f4b624c62ef
BLAKE2b-256 09ee60f060eeb80da0712927ff967dddc9f7b5ec4c1a54b516b4a756a7664127

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oso-0.26.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1fbd713dabe0dbd8116b5dace30c05fb6fff5eb64de545f623005d28a3a86bef
MD5 5360597b46c4cca8cc5f3e3e38d70a3b
BLAKE2b-256 cf63fe27cfd50df6d3ffd720f4acb10c921d70c6e21f3a0f0c2878f180f6ddd9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.26.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 945.8 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.7.13

File hashes

Hashes for oso-0.26.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 f8a495da83d6808fba41c54179e243db2614d4600bb955ea99a6b51bcf678bc4
MD5 9bceaec444906e9086b009083449ce78
BLAKE2b-256 7141eb19100cbf8a6ee6d31fea9be28000d8ef378a009b59f3dc9cbbd1258b58

See more details on using hashes here.

File details

Details for the file oso-0.26.1-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for oso-0.26.1-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 2fb057d4790ceff44a691ee3dfea9fbc195db55462cbceb73134747944ffd36b
MD5 87d06f0c1459e05e80abc891918c0bdd
BLAKE2b-256 761bce53c507bd7b5b5287631b9b977748ff7c93f758095bc40433f5a5c6b049

See more details on using hashes here.

File details

Details for the file oso-0.26.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for oso-0.26.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 7efaad709d530ecf199791086866658e128474beecaa16b2b802d834efea5b5d
MD5 ad844ff1a47cc4b184407a9800aea095
BLAKE2b-256 a82ff1f7fe3767bb8b987a7a378705884b521e24f019fdd48c25efc6697ac736

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oso-0.26.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5ef6b01d2aa478ab91eac3aa3a2f6ab218eb00e7d2f9e6a712c262aa7517615c
MD5 5c171599fa2b57cf67ec813ce0943f88
BLAKE2b-256 49cacfaaed18bdabbb5c4c7d5248b0b926d2d4dbcd3b2bab95e3fdf47962534b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oso-0.26.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 945.8 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.7.13

File hashes

Hashes for oso-0.26.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 3152779f5c0b8eeb834c446af5d47916795dac9a4a6706f09845b039214ca1c1
MD5 57f8aebc3851989b63ea1b02680ef09c
BLAKE2b-256 ebdb7d3b858789ef6bd5b12a9bd59a2336ba787e47bc12a4934b192c61ee558c

See more details on using hashes here.

File details

Details for the file oso-0.26.1-cp36-cp36m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for oso-0.26.1-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e4deefb2d1ea77adde64530b28f956b85294129747a0921663fedc1bbb8db312
MD5 6bded8fa1f6550a07255c02638011528
BLAKE2b-256 8525f9d71e34fd4d5f3cbf58ad0519407194ce806eb8a45dae1a3d2ed55ac602

See more details on using hashes here.

File details

Details for the file oso-0.26.1-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for oso-0.26.1-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 def08345b0f8d000b48a19e92f09b81fca01e324889a4b66992dc5df00a0a701
MD5 6506a102115681c6f6a13e219ac506bb
BLAKE2b-256 25b0f7f2a01a95bf9b6281928a92436f9f14b7fb5daf94929b71874f554ecd9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oso-0.26.1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 45b5de862544925903f35cfe6bea4b85758e51c1610f62d9880fd2c02d3b8a4e
MD5 0054b41c87631edcba4e6f5e40459672
BLAKE2b-256 e6c3ec657f657334aeb5e9f0809284177a5564bea0dc5f9186f005b779d0d645

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