Skip to main content

Python interface for the OPA Rego Language and Runtime

Project description

regopy

Rego is the native query language of the Open Policy Agent project. If you want to learn more about Rego as a language, and its various use cases, we refer you to the language documentation above which OPA provides.

This module is a wrapper around rego-cpp, an open source cross-platform C++ implementation of the Rego language compiler and runtime developed and maintained by Microsoft. You can learn more about that project here. As much as possible in this wrapper we try to provide idiomatic Python interfaces to the Rego query engine. We hope the project is of use to those wishing to leverage the power of Rego within a Python context.

Warning While this project has progressed to the point that we support full Rego language (see Language Support below) we do not support all built-ins. That said, we have verified compliance with the OPA Rego test suite. Even so, it should still be considered experimental software and used with discretion.

Example Usage

from regopy import Interpreter
rego = Interpreter()
print(rego.query("x=5;y=x + (2 - 4 * 0.25) * -3 + 7.4"))
# x = 5
# y = 9.4
input0 = {
    "a": 10,
    "b": "20",
    "c": 30.0,
    "d": True
}
data0 = {
    "one": {
        "bar": "Foo",
        "baz": 5,
        "be": True,
        "bop": 23.4
    },
    "two": {
        "bar": "Bar",
        "baz": 12.3,
        "be": False,
        "bop": 42
    }
}
data1 = {
    "three": {
        "bar": "Baz",
        "baz": 15,
        "be": True,
        "bop": 4.23
    }
}
module = '''
    package objects

    rect := {`width`: 2, "height": 4}
    cube := {"width": 3, `height`: 4, "depth": 5}
    a := 42
    b := false
    c := null
    d := {"a": a, "x": [b, c]}
    index := 1
    shapes := [rect, cube]
    names := ["prod", `smoke1`, "dev"]
    sites := [{"name": "prod"}, {"name": names[index]}, {"name": "dev"}]
    e := {
        a: "foo",
        "three": c,
        names[2]: b,
        "four": d,
    }
    f := e["dev"]
'''
rego.set_input(input)
rego.add_data(data0)
rego.add_data(data1)
rego.add_module("objects", module)
print(rego.query("x=[data.one, input.b, data.objects.sites[1]]"))
# x = [{"bar":"Foo", "baz":5, "be":true, "bop":23.4}, "20", {"name":"smoke1"}]

Language Support

At present we support v0.55.0 of Rego as defined by OPA, with the following grammar:

module          = package { import } policy
package         = "package" ref
import          = "import" ref [ "as" var ]
policy          = { rule }
rule            = [ "default" ] rule-head { rule-body }
rule-head       = ( ref | var ) ( rule-head-set | rule-head-obj | rule-head-func | rule-head-comp )
rule-head-comp  = [ assign-operator term ] [ "if" ]
rule-head-obj   = "[" term "]" [ assign-operator term ] [ "if" ]
rule-head-func  = "(" rule-args ")" [ assign-operator term ] [ "if" ]
rule-head-set   = "contains" term [ "if" ] | "[" term "]"
rule-args       = term { "," term }
rule-body       = [ "else" [ assign-operator term ] [ "if" ] ] ( "{" query "}" ) | literal
query           = literal { ( ";" | ( [CR] LF ) ) literal }
literal         = ( some-decl | expr | "not" expr ) { with-modifier }
with-modifier   = "with" term "as" term
some-decl       = "some" term { "," term } { "in" expr }
expr            = term | expr-call | expr-infix | expr-every | expr-parens | unary-expr
expr-call       = var [ "." var ] "(" [ expr { "," expr } ] ")"
expr-infix      = expr infix-operator expr
expr-every      = "every" var { "," var } "in" ( term | expr-call | expr-infix ) "{" query "}"
expr-parens     = "(" expr ")"
unary-expr      = "-" expr
membership      = term [ "," term ] "in" term
term            = ref | var | scalar | array | object | set | membership | array-compr | object-compr | set-compr
array-compr     = "[" term "|" query "]"
set-compr       = "{" term "|" query "}"
object-compr    = "{" object-item "|" query "}"
infix-operator  = assign-operator | bool-operator | arith-operator | bin-operator
bool-operator   = "==" | "!=" | "<" | ">" | ">=" | "<="
arith-operator  = "+" | "-" | "*" | "/"
bin-operator    = "&" | "|"
assign-operator = ":=" | "="
ref             = ( var | array | object | set | array-compr | object-compr | set-compr | expr-call ) { ref-arg }
ref-arg         = ref-arg-dot | ref-arg-brack
ref-arg-brack   = "[" ( scalar | var | array | object | set | "_" ) "]"
ref-arg-dot     = "." var
var             = ( ALPHA | "_" ) { ALPHA | DIGIT | "_" }
scalar          = string | NUMBER | TRUE | FALSE | NULL
string          = STRING | raw-string
raw-string      = "`" { CHAR-"`" } "`"
array           = "[" term { "," term } "]"
object          = "{" object-item { "," object-item } "}"
object-item     = ( scalar | ref | var ) ":" term
set             = empty-set | non-empty-set
non-empty-set   = "{" term { "," term } "}"
empty-set       = "set(" ")"

Definitions:

[]     optional (zero or one instances)
{}     repetition (zero or more instances)
|      alternation (one of the instances)
()     grouping (order of expansion)
STRING JSON string
NUMBER JSON number
TRUE   JSON true
FALSE  JSON false
NULL   JSON null
CHAR   Unicode character
ALPHA  ASCII characters A-Z and a-z
DIGIT  ASCII characters 0-9
CR     Carriage Return
LF     Line Feed

Builtins

At the moment only support a few builtins, but are actively working on adding all the standard builtins. The following builtins are currently supported:

  • aggregates
  • arrays
  • bits
  • casts
  • numbers
  • objects
  • regex
  • semver
  • sets
  • strings
  • types
  • units
  • miscellaneous
    • base64_encode
    • base64_decode
    • json.marshal
    • opa.runtime
    • print
    • time.now_ns

Compatibility with the OPA Rego Go implementation

Our goal is to achieve and maintain full compatibility with the reference Go implementation. We have developed a test driver which runs the same tests and validates that we produce the same outputs. At this stage we pass all the non-builtin specific test suites, which we clone from the OPA repository. To build with the OPA tests available for testing, use one of the following presets:

  • release-clang-opa
  • release-opa

At present, we are NOT passing the following test suites in full:

  • base64*
  • crypto*
  • glob*
  • graphql
  • invalidkeyerror
  • json*
  • jwt*
  • net*
  • planner-ir
  • providers-aws
  • reachable
  • urlbuiltins
  • walkbuiltin

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

regopy-0.3.9.tar.gz (14.3 kB view details)

Uploaded Source

Built Distributions

regopy-0.3.9-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

regopy-0.3.9-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (6.4 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686

regopy-0.3.9-pp310-pypy310_pp73-macosx_10_15_x86_64.whl (6.7 MB view details)

Uploaded PyPy macOS 10.15+ x86-64

regopy-0.3.9-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

regopy-0.3.9-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (6.4 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686

regopy-0.3.9-pp39-pypy39_pp73-macosx_10_15_x86_64.whl (6.7 MB view details)

Uploaded PyPy macOS 10.15+ x86-64

regopy-0.3.9-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12 Windows x86-64

regopy-0.3.9-cp312-cp312-win32.whl (872.0 kB view details)

Uploaded CPython 3.12 Windows x86

regopy-0.3.9-cp312-cp312-musllinux_1_1_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

regopy-0.3.9-cp312-cp312-musllinux_1_1_i686.whl (6.3 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ i686

regopy-0.3.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

regopy-0.3.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (6.4 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

regopy-0.3.9-cp312-cp312-macosx_11_0_arm64.whl (7.3 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

regopy-0.3.9-cp312-cp312-macosx_10_15_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.12 macOS 10.15+ x86-64

regopy-0.3.9-cp311-cp311-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

regopy-0.3.9-cp311-cp311-win32.whl (872.5 kB view details)

Uploaded CPython 3.11 Windows x86

regopy-0.3.9-cp311-cp311-musllinux_1_1_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

regopy-0.3.9-cp311-cp311-musllinux_1_1_i686.whl (6.3 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

regopy-0.3.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

regopy-0.3.9-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (6.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

regopy-0.3.9-cp311-cp311-macosx_11_0_arm64.whl (7.3 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

regopy-0.3.9-cp311-cp311-macosx_10_15_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.11 macOS 10.15+ x86-64

regopy-0.3.9-cp310-cp310-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

regopy-0.3.9-cp310-cp310-win32.whl (871.1 kB view details)

Uploaded CPython 3.10 Windows x86

regopy-0.3.9-cp310-cp310-musllinux_1_1_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

regopy-0.3.9-cp310-cp310-musllinux_1_1_i686.whl (6.3 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

regopy-0.3.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

regopy-0.3.9-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (6.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

regopy-0.3.9-cp310-cp310-macosx_11_0_arm64.whl (7.3 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

regopy-0.3.9-cp310-cp310-macosx_10_15_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.10 macOS 10.15+ x86-64

regopy-0.3.9-cp39-cp39-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.9 Windows x86-64

regopy-0.3.9-cp39-cp39-win32.whl (871.1 kB view details)

Uploaded CPython 3.9 Windows x86

regopy-0.3.9-cp39-cp39-musllinux_1_1_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

regopy-0.3.9-cp39-cp39-musllinux_1_1_i686.whl (6.3 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

regopy-0.3.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

regopy-0.3.9-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (6.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

regopy-0.3.9-cp39-cp39-macosx_11_0_arm64.whl (7.3 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

regopy-0.3.9-cp39-cp39-macosx_10_15_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

regopy-0.3.9-cp38-cp38-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.8 Windows x86-64

regopy-0.3.9-cp38-cp38-win32.whl (871.1 kB view details)

Uploaded CPython 3.8 Windows x86

regopy-0.3.9-cp38-cp38-musllinux_1_1_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

regopy-0.3.9-cp38-cp38-musllinux_1_1_i686.whl (6.3 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

regopy-0.3.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

regopy-0.3.9-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (6.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

regopy-0.3.9-cp37-cp37m-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.7m Windows x86-64

regopy-0.3.9-cp37-cp37m-win32.whl (871.8 kB view details)

Uploaded CPython 3.7m Windows x86

regopy-0.3.9-cp37-cp37m-musllinux_1_1_x86_64.whl (5.9 MB view details)

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

regopy-0.3.9-cp37-cp37m-musllinux_1_1_i686.whl (6.3 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

regopy-0.3.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

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

regopy-0.3.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (6.4 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

File details

Details for the file regopy-0.3.9.tar.gz.

File metadata

  • Download URL: regopy-0.3.9.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0b4

File hashes

Hashes for regopy-0.3.9.tar.gz
Algorithm Hash digest
SHA256 d6c0a50327366069b7fc3cd76177d35aad61c017dcf546c27dfe10a0610c1250
MD5 1a5353f3de86ecfc765708393db46265
BLAKE2b-256 aa23ae93ad12731527b4a87b912186a68c613e16f0eb2b686f64d3141db7a998

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1dbcdb75fb458ef46055b42a3f7a0f0b51343f895aa8fad78e4f532ec3dc29e4
MD5 01eca63cb8174da8bb56c6727311685e
BLAKE2b-256 271ebd1cac14b6da1c8bb2a7dc37c0dffc8c64b80cd8b2a3c30b51c02b676a76

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0249003ddb5696985d10bc09707d9024b7b2727206458eddbe0646c079735447
MD5 56b6e816ed4c3accb08fd52bb31c98bd
BLAKE2b-256 3fdad82a8611cf0cad106684c7b1a3f1455b61c23b0f2c693a6c9cd78761fe74

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-pp310-pypy310_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 fe4bcf2740d89a90d40df2472e0d4803a830258c7f62e248c2240bb14c39f904
MD5 447095a827e21350997f2128ef4e759b
BLAKE2b-256 69282c2469c81208d803472bc0414034efcc593664490e5d0518c882a19f1e2d

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5209a4a615026c5bfc4e1e9854b5dd5040127998129810bf1079345df82411ed
MD5 58d5cdc9fedab500931d537451d77d59
BLAKE2b-256 8b37804aa4e8fbfde9a3c42d36ce48ef2a5a75da749233a405b9275516ee607c

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8dc09062e94f0207fe4b7d034f100f00ed429bb5a79e46453b1ffcdac706ecc6
MD5 3071e0fbb66618a41ca8a77aba9d2224
BLAKE2b-256 647731a6bfed6b3ee337ee4387c0baa818da7490ce152a02475e28094bce6de3

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-pp39-pypy39_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-pp39-pypy39_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 fa2992d541f28f07e46da2313e0f7924f71a32becaccc8df40c551aa033aace9
MD5 1d97d9eacbc73d257d964aa1088d4edb
BLAKE2b-256 4edb3755ac9da763d3bfd7f47689ae0b14b52d4a0e90fd439d64c0d5ee87a6a1

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: regopy-0.3.9-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0b4

File hashes

Hashes for regopy-0.3.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 abad01e520f84d0938027c1f8cd7a578438711150c38c808ec52628759c3d0dd
MD5 d55e1c19443366363294a71da6321014
BLAKE2b-256 259c0af0436c94acd667d17841696d1510f98cc9f39c5e49aec94ddb17c1e66d

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp312-cp312-win32.whl.

File metadata

  • Download URL: regopy-0.3.9-cp312-cp312-win32.whl
  • Upload date:
  • Size: 872.0 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0b4

File hashes

Hashes for regopy-0.3.9-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 51fa82a3907328750f94a310e833aa21980609562df44821ab15316c8fd67d44
MD5 f5eeb2fe8eb77f61ec31a7ba80c5ac46
BLAKE2b-256 ecd4de39c485615296de601d0d37abc3150c5c9e0b407a1c90f467be159fb940

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 07d0cc8aafb66c21dbf37a9380922c27a1d8acf320d6c845368142243a59297d
MD5 67044d48555a82519dcd3b62f5615e99
BLAKE2b-256 1ef65428fe381972ad0aca9f4f85ac4526d8335ce4fa60a087dcaa11a309c312

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp312-cp312-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp312-cp312-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 da873f72dbdfc530d514a8daf3f38484bbd7d2f51e9801fc751a7f82dd8c3263
MD5 87954ae853fcab9453abc6159f818b12
BLAKE2b-256 505f85842de0093a71a78b7df338b6e1054ac9fcebb9e977419f8c5f847ef8dd

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bab090ced24f532205e6964e204d9db4276a501a1b75fc3e23e37c82c46951d4
MD5 448d235badab37236b12aac826af4701
BLAKE2b-256 767ffbcf4416a96808c2784d15bb4d5177237455bfa6fbc0db578a83d8046e09

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a7441d0fbe4cfa523e745d49bf555df9275502f41e335b88afdbb98a2125334e
MD5 5145f92a2738520ac45d2f5c6600300d
BLAKE2b-256 de88123344adbb498cca7844c9bff4308d5682acdc8c96bc19e78bbe8774e0de

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e6e0d820f0b82a49d1abf18b15b19f40a576aca10266ca95e570dfa2ff3f0a5b
MD5 0990d77226841d7a9b6217daa6591e45
BLAKE2b-256 0ebddf1f47ae0584b00d001caacbf8988e4fe783f70ecc0672d9489e3893327c

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp312-cp312-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 acc2a555ea8ce08947fd020c4e1c9fba0ef0becdd2b10c56e83e016bf58a85cc
MD5 6bd4fa9048f1d4714049663be6b2b195
BLAKE2b-256 983d067a308b6159c7fe876cfc78bbd79c4603d986ff39b914c2a8a16d61700d

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: regopy-0.3.9-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0b4

File hashes

Hashes for regopy-0.3.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3b3704a5c5f21d4d320401514f55029699690127b9398c614113c6951b1e7b74
MD5 1ac7984f842b668484b0eff35e7c3a21
BLAKE2b-256 1db24924ab09fab10b72695fece9f4b5b55c75ee3514b37e137d86ede3680c76

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp311-cp311-win32.whl.

File metadata

  • Download URL: regopy-0.3.9-cp311-cp311-win32.whl
  • Upload date:
  • Size: 872.5 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0b4

File hashes

Hashes for regopy-0.3.9-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 3d7667309f0d1860b825b02116dd3abae9a477e5919d39eb82c719eccb9baf67
MD5 740e6ee78734c35164d97bb910ab3234
BLAKE2b-256 0eb549e29091bd2982941f4aeac13c16fb643d6aaa05bb4250439bccf9e07274

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d12abcc9fd0ae1ab6acdaf3d1b965a53c7271b010368438f33bbae79b094b909
MD5 1700102ca39ec9f60cddbb2ed0143eeb
BLAKE2b-256 797bdacd2bd2bac623390e3889b10524981581c0740ce9ca39027d62e5848620

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 352f5e2ec4d82c24f0e1c9efb7385524010f5d47a18a3e54867acef2dc30c573
MD5 862ae7d88a9dabe74f91d0f54bb514da
BLAKE2b-256 d8fe1fd2b17613023ef3ce5a0f0ccf43729b0070fcfa275ae288236f1cc8b5bf

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ffffa2e0033674177744719b26a4affcf6e03b154a415c9220f8513bc4d8373
MD5 3fe2389c7a1d0fb3b0bd155c4c1b633a
BLAKE2b-256 6a740aacc4e55ff9003918c3a2a211cee66bbab72e439915c03bf0d15e086d90

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c53828d67a745b559169ddfe03cf1856a58a635c391c6375521cfaefb3a5abca
MD5 0cede130328d2a6bb0c6059297759618
BLAKE2b-256 80d277f303a8ae165e59f1fa005bedadaa35db836b117559f0b033dfad1d42a0

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ad18c1b699218a3799142d981103cc1aa86663d989a6fd8238bc2013646672ce
MD5 03eb80279dafafb1970cc29958364d07
BLAKE2b-256 31f9d728a911d165d0bff22f2eddf2f82f783aa72abb5160bcbcdc998da800d5

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 bc9cbff79e22f496536716192d4cd6b3ee9074e2067924e2a21378d8ff8de1c8
MD5 a5539b19e555a446f0420476edfc748a
BLAKE2b-256 79be55042b9da20fad5381f5fdd634d4a8bac9ae9738ed3f2de245a1cc7109ab

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: regopy-0.3.9-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0b4

File hashes

Hashes for regopy-0.3.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 815d7580b19860ae122904fb9f3f9b77b3531b4a1a349a2374e18c5021c417e0
MD5 a5b799e61b78719fa10fa9e7865f525d
BLAKE2b-256 866b0eaa8cc5f9761d7a26d82dcaa7dd11d38b9dde65441b395160c35d51b936

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp310-cp310-win32.whl.

File metadata

  • Download URL: regopy-0.3.9-cp310-cp310-win32.whl
  • Upload date:
  • Size: 871.1 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0b4

File hashes

Hashes for regopy-0.3.9-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 61b3af012c49eb28af94342a202c6c561d0c285b8197205e36077ebd4efe5c7c
MD5 23bc2a2425dd44d61818f17db5eb5e67
BLAKE2b-256 f84f01fd57f61fabf8643188e84ec3f1c46b958bc28ef1d20cd51869b78c892f

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 2406cfb10d243ddf4c7a07a2755d69b5e8c9b1a74b2c438445cbabea8ee8a91e
MD5 4fb28101a9934e6e2d0c2888a5040bb4
BLAKE2b-256 4fb51953281a8d7ceff76f07f490b358c4ee170fae0f79d2f81a734b26e5094e

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 5c1af8abc62a8856867988453a38eb33097175fe16fef76c7aa89427be14e7b0
MD5 20521a57300267bf8790757cc278e489
BLAKE2b-256 91f999f924914d7ad54025aa1c262780a7930c0cba0dfdf69d9b4e628b45beef

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 16bf4359c501d05934ebcc0cf8d61d5360dc4e8bd878ca0544c2fbea59693b44
MD5 cd033a0660cf622db8e5576089d6895f
BLAKE2b-256 0e083c4277c18c605c2d495521cfe519ee54a7c1438ee37b62080e6ce510fbbb

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 767d8d3794dfb13b35f7438eb6e910f1a6f0e3b478f1c29ca6d53dfdb3392fad
MD5 c684bf507aec14e056fc2775792e15a1
BLAKE2b-256 6e5f22ba5bf454ca44d2fe20217be7a852365f96c9b70b78246c55489dd52704

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b5cc9c898f87f5b836262479b45950b2c369730cc52b0d099e41d96ddb97177b
MD5 3887a7e99cba04a18e3650c949cf97f7
BLAKE2b-256 9ccb8099dc8fe2eae27541eb807c143544657a3c14ba551df51a872eca181e56

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 1bf3c9b9af8c2bebdd89e3955171abf0ccf256ab0f0cabd53ec9dcd3a87517b6
MD5 14df8481dd00b92b831c69e0874df3a0
BLAKE2b-256 6875d5172594dd0cc4ea5d737862314e5f4b14d3e97d083e80550d3c92f3b628

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: regopy-0.3.9-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0b4

File hashes

Hashes for regopy-0.3.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7cbc74a0e24aa5c8d2140de957a07851f331c9163b2b58da51feaea0f45e0740
MD5 9a3e2ac6f488032c52523401c5382d1b
BLAKE2b-256 9abff0ce680597526e56e42fc18114f42f00fef87d758a5edc7ec19a729538e3

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp39-cp39-win32.whl.

File metadata

  • Download URL: regopy-0.3.9-cp39-cp39-win32.whl
  • Upload date:
  • Size: 871.1 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0b4

File hashes

Hashes for regopy-0.3.9-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 29b1845d21cbbafcb3934cb10ec087d5368a54b5240a720c4fc39917297154f4
MD5 f57f42d2f2273c1b3afa5494ba53067a
BLAKE2b-256 a65c0cb38ab439cde9aba5eb1d60adabf1b1e20bfed6892a543dac08cdb6563a

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 0e0a02d67886c544df42c88837f05e0354bfec93b0f9f2d57d4ece2cf6ed268b
MD5 39f9ff70aca68387b9637a2962880f87
BLAKE2b-256 cf3cde14fef6acb48a6f2701d3045b3dd0534a6e30b3d9385ce854e3197397f7

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 3f5b28589bd6f412210b1d9230d2d33a7928e97ab1bf984da1d90b57c6f32023
MD5 023d62180b250fcc484e65eca0b61cee
BLAKE2b-256 8bc0ae53dbd88c3af4132fcda4ac73d5e933126cdc891c332478ac8b31722a03

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 00d2259d3a177e10eb972a08958f742846f97d7486a8ed47e1d66293bfa45194
MD5 607e81e413c298da0a5e95af6829c451
BLAKE2b-256 09c2b795643a1c99504e4a1e8b2f7c7341bd990bbb23b5047804280271a6a923

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b2c59c5f67fa79e68e5d7da722b0f7583ff6ec64c7100d4aa7b410f60578d40d
MD5 32fc9645d1d7401be3adab67aedf96c5
BLAKE2b-256 27c0cd780d736b45b262d0415cf95ad04363ae5222e8570a973303508e9155bf

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7326b44b8c4a3d2e510aa1c65cdc74a6e6c5da781a0fe039555ed9444c34022c
MD5 f03ff7fd12d0945111c67409243cb494
BLAKE2b-256 2b989aacc6c7fcdeb62b36e13aade6b036bfe8b33657bee907e59c8a71c37c5d

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 4e619e79d5c7cda12de8713fed51ce6520199be16b4b38648109d953274b6d64
MD5 59fdeb4e602551a9419c751e53308530
BLAKE2b-256 bea37011b38500ed322c68b3a3dbcb5b7f8c068e82587068907da5f6eaff4f0b

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: regopy-0.3.9-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0b4

File hashes

Hashes for regopy-0.3.9-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ac2347c4f0fb5f72070fcc15e5ad23ad0dbb2a4ed9c6e41115bc02ef51649baf
MD5 0efdfcdeb62693d272531ea2b2df475a
BLAKE2b-256 9a624b1c55bdc6228a8965ed7f00494b4db5ef56a8475edc0e90e35074c79bd0

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp38-cp38-win32.whl.

File metadata

  • Download URL: regopy-0.3.9-cp38-cp38-win32.whl
  • Upload date:
  • Size: 871.1 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0b4

File hashes

Hashes for regopy-0.3.9-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 214465c4af3b433d5945a7f1b4a7e49df12492b1cad8f5178922819483357ae7
MD5 2098b0a71335a85e111df98a77a354f8
BLAKE2b-256 27d8622f4f6ada31353687302c8a8e00dab830676ca1331cdc4b92b8db82b6e0

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 927fe1f5a6f8d392827843aac8764bd7dfef020a19998ed265e5ce1b021d78b5
MD5 739cbc6af4311168d64292a9ca0787d8
BLAKE2b-256 2fc764135bd8056ce88d372ce1c15e8cc9537a22f9e15cac31909ab84ac63ab7

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 e2f537839da41cf596cd4256e6d839e3ebe4506e5317f52fd89933b1ddd26855
MD5 d824f13041f8cdd839286c1fb23afcf7
BLAKE2b-256 ef2a0bf775292d4368c495991b36edc1b51f0e5279439df6c1e8d4c19cb3c846

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa1c6c756c001a4f8ae832f949f3b0ae7186ce9b9e658add1517ed46b16d1933
MD5 2ccbeaba1e58eb194b5f108e1a6a206d
BLAKE2b-256 5f788953f14b4414fe207d4ff7879691996d349caad629f0c21018bbd21cdd4f

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 54b4cfbd152ac8c4006e0563a05d38316cc5b440efc0f84e6130ac2c2e8bb976
MD5 72b4f159493d286559591d7b6fe93d40
BLAKE2b-256 1e7d14b222a03f63cb33ffc3a7947e779748c39873d163d4858822101190adf7

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: regopy-0.3.9-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0b4

File hashes

Hashes for regopy-0.3.9-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 5475d832e59682608aaea7533846bcb574acd44363f1dfc9b6bc933f6311f9ef
MD5 26af1bef52a7ea7e042a461d3a044740
BLAKE2b-256 94ee7fe61de25498a19330a25015b4cd99ee811deb8a89a99c77ac45e8b15b65

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp37-cp37m-win32.whl.

File metadata

  • Download URL: regopy-0.3.9-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 871.8 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0b4

File hashes

Hashes for regopy-0.3.9-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 3fd097497d8b0a0fae31df431156a99db13c5e76aa5dbef8f04dd238ca1c118a
MD5 af0e60c946ef5b9e10ca400297861ddc
BLAKE2b-256 62ff0d2810316aaefc93f9d308606441aeb1869b8217bde287bb561bf6c6b521

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 9b688d53acb90748a024035960b8c635ab284e76f26fbbc33cf4d3545987ecf5
MD5 67dfefec43c7efa426e8fb164d14d93c
BLAKE2b-256 6b4644fbb92a517201269b997d3f39743d21dacfbc6783ecfedf9dbbbc3de353

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp37-cp37m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 71f8079d67fd4427232bdeecdeed3673371e5d92c940eba7c3736ac6dd9db939
MD5 f6477aad9ae1c72d6bddb959a7a46a6a
BLAKE2b-256 830553170f121da449eaa56da97122f309071a72aa99727e69667560d4c6d590

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f3051160037b3f08b3061259637a019ed3dfc4e733062492b95c8442443d4e5b
MD5 e0ec5a4bdde05cb426077ecffd1d5bce
BLAKE2b-256 5a4960e063c743fdfaf07de5d9c4b3a6e0876d3261fe15d05a1541f4cc3e42ba

See more details on using hashes here.

File details

Details for the file regopy-0.3.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for regopy-0.3.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2ad6a9ec5819c64ad01335a3490604c06512e85d88f680539e699ea740ced98a
MD5 a65db387bbe590c5b789e372b8e96e74
BLAKE2b-256 6a285061e872eb67149f2b9acacad39f89e16283660ca27779750ec76bd5ecd0

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