regopy


Nameregopy JSON
Version 0.4.6 PyPI version JSON
download
home_pagehttps://microsoft.github.io/rego-cpp/
SummaryPython interface for the OPA Rego Language and Runtime
upload_time2025-02-01 15:04:02
maintainerNone
docs_urlNone
authorrego-cpp Team
requires_python<4,>=3.6
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # `regopy`

[Rego](https://www.openpolicyagent.org/docs/latest/policy-language/)
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](https://github.com/microsoft/rego-cpp). 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](#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

```python
from regopy import Interpreter
rego = Interpreter()
print(rego.query("x=5;y=x + (2 - 4 * 0.25) * -3 + 7.4"))
# {"bindings":{"x":5, "y":9.5}}
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(input0)
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]]"))
# {"bindings":{"x":[{"bar":"Foo", "baz":5, "be":true, "bop":23.4}, "20", {"name":"smoke1"}]}}
```

## Language Support

We support v0.68.0 of Rego as defined by OPA, with the following grammar:

```ebnf
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(" ")"
```

> [!NOTE]
> This grammar corresponds to Rego with `rego.v1` enabled (See [OPA v1.0](https://www.openpolicyagent.org/docs/latest/opa-1) for more info).

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 support the following builtins are available:

- `aggregates`
- `arrays`
- `bits`
- `casts`
- `encoding`
- `graphs`
- `numbers`
- `objects`
- `regex`
- `semver`
- `sets`
- `strings`
- `time`
- `types`
- `units`
- `uuid`
- miscellaneous
    * `opa.runtime`
    * `print`

### 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](https://github.com/open-policy-agent/opa/tree/main/test/cases/testdata).
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:
- `crypto*`
- `glob*`
- `graphql`
- `invalidkeyerror`
- `json*`  (except `jsonbuiltins`)
- `jwt*`
- `net*`
- `planner-ir`
- `providers-aws`

            

Raw data

            {
    "_id": null,
    "home_page": "https://microsoft.github.io/rego-cpp/",
    "name": "regopy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4,>=3.6",
    "maintainer_email": null,
    "keywords": null,
    "author": "rego-cpp Team",
    "author_email": "rego-cpp@microsoft.com",
    "download_url": "https://files.pythonhosted.org/packages/27/c2/133bbc7701615d0e579cef8be8681a35931b260913e9cf4ea3ede5fb3988/regopy-0.4.6.tar.gz",
    "platform": null,
    "description": "# `regopy`\n\n[Rego](https://www.openpolicyagent.org/docs/latest/policy-language/)\nis the native query language of the Open Policy Agent project. If you want to\nlearn more about Rego as a language, and its various use cases, we refer\nyou to the language documentation above which OPA provides.\n\nThis module is a wrapper around `rego-cpp`, an open source cross-platform C++\nimplementation of the Rego language compiler and runtime developed and maintained\nby Microsoft. You can learn more about that project\n[here](https://github.com/microsoft/rego-cpp). As much as possible in this\nwrapper we try to provide idiomatic Python interfaces to the Rego query engine.\nWe hope the project is of use to those wishing to leverage the power of Rego\nwithin a Python context.\n\n> **Warning**\n> While this project has progressed to the point that we support full Rego language\n> (see [Language Support](#language-support) below) we do not support all built-ins.\n> That said, we have verified compliance with the OPA Rego test suite. Even so, it\n> should still be considered experimental software and used with discretion.\n\n## Example Usage\n\n```python\nfrom regopy import Interpreter\nrego = Interpreter()\nprint(rego.query(\"x=5;y=x + (2 - 4 * 0.25) * -3 + 7.4\"))\n# {\"bindings\":{\"x\":5, \"y\":9.5}}\ninput0 = {\n    \"a\": 10,\n    \"b\": \"20\",\n    \"c\": 30.0,\n    \"d\": True\n}\ndata0 = {\n    \"one\": {\n        \"bar\": \"Foo\",\n        \"baz\": 5,\n        \"be\": True,\n        \"bop\": 23.4\n    },\n    \"two\": {\n        \"bar\": \"Bar\",\n        \"baz\": 12.3,\n        \"be\": False,\n        \"bop\": 42\n    }\n}\ndata1 = {\n    \"three\": {\n        \"bar\": \"Baz\",\n        \"baz\": 15,\n        \"be\": True,\n        \"bop\": 4.23\n    }\n}\nmodule = '''\n    package objects\n\n    rect := {`width`: 2, \"height\": 4}\n    cube := {\"width\": 3, `height`: 4, \"depth\": 5}\n    a := 42\n    b := false\n    c := null\n    d := {\"a\": a, \"x\": [b, c]}\n    index := 1\n    shapes := [rect, cube]\n    names := [\"prod\", `smoke1`, \"dev\"]\n    sites := [{\"name\": \"prod\"}, {\"name\": names[index]}, {\"name\": \"dev\"}]\n    e := {\n        a: \"foo\",\n        \"three\": c,\n        names[2]: b,\n        \"four\": d,\n    }\n    f := e[\"dev\"]\n'''\nrego.set_input(input0)\nrego.add_data(data0)\nrego.add_data(data1)\nrego.add_module(\"objects\", module)\nprint(rego.query(\"x=[data.one, input.b, data.objects.sites[1]]\"))\n# {\"bindings\":{\"x\":[{\"bar\":\"Foo\", \"baz\":5, \"be\":true, \"bop\":23.4}, \"20\", {\"name\":\"smoke1\"}]}}\n```\n\n## Language Support\n\nWe support v0.68.0 of Rego as defined by OPA, with the following grammar:\n\n```ebnf\nmodule          = package { import } policy\npackage         = \"package\" ref\nimport          = \"import\" ref [ \"as\" var ]\npolicy          = { rule }\nrule            = [ \"default\" ] rule-head { rule-body }\nrule-head       = ( ref | var ) ( rule-head-set | rule-head-obj | rule-head-func | rule-head-comp )\nrule-head-comp  = [ assign-operator term ] [ \"if\" ]\nrule-head-obj   = \"[\" term \"]\" [ assign-operator term ] [ \"if\" ]\nrule-head-func  = \"(\" rule-args \")\" [ assign-operator term ] [ \"if\" ]\nrule-head-set   = \"contains\" term [ \"if\" ] | \"[\" term \"]\"\nrule-args       = term { \",\" term }\nrule-body       = [ \"else\" [ assign-operator term ] [ \"if\" ] ] ( \"{\" query \"}\" ) | literal\nquery           = literal { ( \";\" | ( [CR] LF ) ) literal }\nliteral         = ( some-decl | expr | \"not\" expr ) { with-modifier }\nwith-modifier   = \"with\" term \"as\" term\nsome-decl       = \"some\" term { \",\" term } { \"in\" expr }\nexpr            = term | expr-call | expr-infix | expr-every | expr-parens | unary-expr\nexpr-call       = var [ \".\" var ] \"(\" [ expr { \",\" expr } ] \")\"\nexpr-infix      = expr infix-operator expr\nexpr-every      = \"every\" var { \",\" var } \"in\" ( term | expr-call | expr-infix ) \"{\" query \"}\"\nexpr-parens     = \"(\" expr \")\"\nunary-expr      = \"-\" expr\nmembership      = term [ \",\" term ] \"in\" term\nterm            = ref | var | scalar | array | object | set | membership | array-compr | object-compr | set-compr\narray-compr     = \"[\" term \"|\" query \"]\"\nset-compr       = \"{\" term \"|\" query \"}\"\nobject-compr    = \"{\" object-item \"|\" query \"}\"\ninfix-operator  = assign-operator | bool-operator | arith-operator | bin-operator\nbool-operator   = \"==\" | \"!=\" | \"<\" | \">\" | \">=\" | \"<=\"\narith-operator  = \"+\" | \"-\" | \"*\" | \"/\" | \"%\"\nbin-operator    = \"&\" | \"|\"\nassign-operator = \":=\" | \"=\"\nref             = ( var | array | object | set | array-compr | object-compr | set-compr | expr-call ) { ref-arg }\nref-arg         = ref-arg-dot | ref-arg-brack\nref-arg-brack   = \"[\" ( scalar | var | array | object | set | \"_\" ) \"]\"\nref-arg-dot     = \".\" var\nvar             = ( ALPHA | \"_\" ) { ALPHA | DIGIT | \"_\" }\nscalar          = string | NUMBER | TRUE | FALSE | NULL\nstring          = STRING | raw-string\nraw-string      = \"`\" { CHAR-\"`\" } \"`\"\narray           = \"[\" term { \",\" term } \"]\"\nobject          = \"{\" object-item { \",\" object-item } \"}\"\nobject-item     = ( scalar | ref | var ) \":\" term\nset             = empty-set | non-empty-set\nnon-empty-set   = \"{\" term { \",\" term } \"}\"\nempty-set       = \"set(\" \")\"\n```\n\n> [!NOTE]\n> This grammar corresponds to Rego with `rego.v1` enabled (See [OPA v1.0](https://www.openpolicyagent.org/docs/latest/opa-1) for more info).\n\nDefinitions:\n```\n[]     optional (zero or one instances)\n{}     repetition (zero or more instances)\n|      alternation (one of the instances)\n()     grouping (order of expansion)\nSTRING JSON string\nNUMBER JSON number\nTRUE   JSON true\nFALSE  JSON false\nNULL   JSON null\nCHAR   Unicode character\nALPHA  ASCII characters A-Z and a-z\nDIGIT  ASCII characters 0-9\nCR     Carriage Return\nLF     Line Feed\n```\n\n### Builtins\n\nAt the moment support the following builtins are available:\n\n- `aggregates`\n- `arrays`\n- `bits`\n- `casts`\n- `encoding`\n- `graphs`\n- `numbers`\n- `objects`\n- `regex`\n- `semver`\n- `sets`\n- `strings`\n- `time`\n- `types`\n- `units`\n- `uuid`\n- miscellaneous\n    * `opa.runtime`\n    * `print`\n\n### Compatibility with the OPA Rego Go implementation\n\nOur goal is to achieve and maintain full compatibility with the reference Go\nimplementation. We have developed a test driver which runs the same tests\nand validates that we produce the same outputs. At this stage we pass all\nthe non-builtin specific test suites, which we clone from the\n[OPA repository](https://github.com/open-policy-agent/opa/tree/main/test/cases/testdata).\nTo build with the OPA tests available for testing, use one of the following presets:\n- `release-clang-opa`\n- `release-opa`\n\nAt present, we are **NOT** passing the following test suites in full:\n- `crypto*`\n- `glob*`\n- `graphql`\n- `invalidkeyerror`\n- `json*`  (except `jsonbuiltins`)\n- `jwt*`\n- `net*`\n- `planner-ir`\n- `providers-aws`\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python interface for the OPA Rego Language and Runtime",
    "version": "0.4.6",
    "project_urls": {
        "Bug Reports": "https://github.com/microsoft/rego-cpp/issues",
        "Documentation": "https://microsoft.github.io/rego-cpp/",
        "Homepage": "https://microsoft.github.io/rego-cpp/",
        "Source": "https://github.com/microsoft/rego-cpp"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "965b1be4fd4c70650e66336b30e7f841d1969abdff6029496f83cb42675f0352",
                "md5": "2c79c704131f7237fcb13bbdee12b181",
                "sha256": "ea8047d6dfd3d59c255a00a6a09a74b4a573731749374e564f02497bc8e6e62c"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "2c79c704131f7237fcb13bbdee12b181",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4,>=3.6",
            "size": 4954689,
            "upload_time": "2025-02-01T15:02:17",
            "upload_time_iso_8601": "2025-02-01T15:02:17.690498Z",
            "url": "https://files.pythonhosted.org/packages/96/5b/1be4fd4c70650e66336b30e7f841d1969abdff6029496f83cb42675f0352/regopy-0.4.6-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ab14c1bcff73f748d48e749f387447cfebc6f425d76bd97bac1ce12061b7419d",
                "md5": "4fe41dfdd9dbd4c9ce09aee1248e6f3f",
                "sha256": "edf3b8d0ebde565ff59aa49cedc2a3aeaea8a066c34e13b7df8bc3da48c836e5"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "4fe41dfdd9dbd4c9ce09aee1248e6f3f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4,>=3.6",
            "size": 4711063,
            "upload_time": "2025-02-01T15:02:20",
            "upload_time_iso_8601": "2025-02-01T15:02:20.429301Z",
            "url": "https://files.pythonhosted.org/packages/ab/14/c1bcff73f748d48e749f387447cfebc6f425d76bd97bac1ce12061b7419d/regopy-0.4.6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "14cdeb15857e13aa0b21eaf542f004ac24aa382cc704a2ac31b02496687ef1f5",
                "md5": "af92404495312e5e200a8023db164b46",
                "sha256": "bccb17813eaf8a3cb35c1f5ff5df38ecb5fc00ef1ec32fa40f1e94a2ed626d52"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "af92404495312e5e200a8023db164b46",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4,>=3.6",
            "size": 4509372,
            "upload_time": "2025-02-01T15:02:23",
            "upload_time_iso_8601": "2025-02-01T15:02:23.055782Z",
            "url": "https://files.pythonhosted.org/packages/14/cd/eb15857e13aa0b21eaf542f004ac24aa382cc704a2ac31b02496687ef1f5/regopy-0.4.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f79567b5995e20ea5ce6f61f216a7cfd4fc04f8ec0efd3379b15cfc2fda369ca",
                "md5": "90e1656ffe88722ab6cc6e71a333c718",
                "sha256": "331625940361acd3e558d0aff4474bc7ddf24614490c67e18a924ee24c262e32"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp310-cp310-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "90e1656ffe88722ab6cc6e71a333c718",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4,>=3.6",
            "size": 5630320,
            "upload_time": "2025-02-01T15:02:25",
            "upload_time_iso_8601": "2025-02-01T15:02:25.947671Z",
            "url": "https://files.pythonhosted.org/packages/f7/95/67b5995e20ea5ce6f61f216a7cfd4fc04f8ec0efd3379b15cfc2fda369ca/regopy-0.4.6-cp310-cp310-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "97e7ae96c5a002205127a4703bfa5f8a3c0a7695254cff4207d385606d45b3ea",
                "md5": "97359afb703363750b032003d39daa09",
                "sha256": "29be3e73899fe841ab78ec54597710c2427b306fc01265edc0308c87b19318f0"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp310-cp310-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "97359afb703363750b032003d39daa09",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4,>=3.6",
            "size": 5306014,
            "upload_time": "2025-02-01T15:02:28",
            "upload_time_iso_8601": "2025-02-01T15:02:28.783698Z",
            "url": "https://files.pythonhosted.org/packages/97/e7/ae96c5a002205127a4703bfa5f8a3c0a7695254cff4207d385606d45b3ea/regopy-0.4.6-cp310-cp310-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9bf4d64ab1a3a39db25a3778809a073fbace3d4f4bc1ed191315a3397f57ed4b",
                "md5": "1369e172997dc8f27c87de452dec2f81",
                "sha256": "7cf1ebb28af74cb9ea3eb4b61227aedd70bc968f1f7f7265a4da10a2c9060561"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "1369e172997dc8f27c87de452dec2f81",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4,>=3.6",
            "size": 1523240,
            "upload_time": "2025-02-01T15:02:31",
            "upload_time_iso_8601": "2025-02-01T15:02:31.982715Z",
            "url": "https://files.pythonhosted.org/packages/9b/f4/d64ab1a3a39db25a3778809a073fbace3d4f4bc1ed191315a3397f57ed4b/regopy-0.4.6-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "45ef2b365c71dd90e3614cd134fa6bc55385fad5da52df1522b69cb3a0ee6ae4",
                "md5": "29a262dd5b6155c0d16aef9572479668",
                "sha256": "0bd0c7fada3341cd1efbe863d6d6b7349428d6dd985edd85132ff04e6482dbcf"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "29a262dd5b6155c0d16aef9572479668",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<4,>=3.6",
            "size": 1523206,
            "upload_time": "2025-02-01T15:02:34",
            "upload_time_iso_8601": "2025-02-01T15:02:34.112152Z",
            "url": "https://files.pythonhosted.org/packages/45/ef/2b365c71dd90e3614cd134fa6bc55385fad5da52df1522b69cb3a0ee6ae4/regopy-0.4.6-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b2e3337fd78d1b3f08f9969e1f4d5ab5c2cd1d199cf20020ec2f4721098ef9d1",
                "md5": "ad7b80586679b91381b82f3cf525cd7b",
                "sha256": "3d19efc459e8f0054ff817235c0cadd0ae35766428f9e0f0d481337d7c9183bc"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ad7b80586679b91381b82f3cf525cd7b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4,>=3.6",
            "size": 4954684,
            "upload_time": "2025-02-01T15:02:36",
            "upload_time_iso_8601": "2025-02-01T15:02:36.527890Z",
            "url": "https://files.pythonhosted.org/packages/b2/e3/337fd78d1b3f08f9969e1f4d5ab5c2cd1d199cf20020ec2f4721098ef9d1/regopy-0.4.6-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "becd8cfb9af0035af49289aebd6fa64c766796c292d09939bc398a2d54a2daae",
                "md5": "daa1e5c17a274add83944b8e5089e561",
                "sha256": "ef3015f10b81a11f72d4c0a69478456ae70a1c426d3fd58cbc500490ae62ace9"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "daa1e5c17a274add83944b8e5089e561",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4,>=3.6",
            "size": 4711061,
            "upload_time": "2025-02-01T15:02:38",
            "upload_time_iso_8601": "2025-02-01T15:02:38.946516Z",
            "url": "https://files.pythonhosted.org/packages/be/cd/8cfb9af0035af49289aebd6fa64c766796c292d09939bc398a2d54a2daae/regopy-0.4.6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "88f67de6149e8b3c87c25f4692695a9f570ddf169bf8f48b6dab328233df2eb3",
                "md5": "6cd5afaeb45b8aefccfbdd37a237351f",
                "sha256": "04c2da8e321025c3f4ba9f9a20e1120ecce5b5f9ff71507ffc5b9e311ab3982a"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6cd5afaeb45b8aefccfbdd37a237351f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4,>=3.6",
            "size": 4509373,
            "upload_time": "2025-02-01T15:02:40",
            "upload_time_iso_8601": "2025-02-01T15:02:40.822562Z",
            "url": "https://files.pythonhosted.org/packages/88/f6/7de6149e8b3c87c25f4692695a9f570ddf169bf8f48b6dab328233df2eb3/regopy-0.4.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "84454e240c019e2a5fd288f972ac4e37f45f7dd40d5b858c6e3a07a0583108f4",
                "md5": "05ab7d46c3ed74099ca88b98ad57bd22",
                "sha256": "bb2210fce6503b869b5657d01ecb1998fa543a4d7aba2e3e136d8d9ed5656f71"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp311-cp311-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "05ab7d46c3ed74099ca88b98ad57bd22",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4,>=3.6",
            "size": 5630320,
            "upload_time": "2025-02-01T15:02:42",
            "upload_time_iso_8601": "2025-02-01T15:02:42.805849Z",
            "url": "https://files.pythonhosted.org/packages/84/45/4e240c019e2a5fd288f972ac4e37f45f7dd40d5b858c6e3a07a0583108f4/regopy-0.4.6-cp311-cp311-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ca1d4b7820c7c6fe80d33fb33094841f775a2cfa96dd9b4174f24cc919261c70",
                "md5": "f634d62003f7555d0ffac798f4bf8df6",
                "sha256": "bcba2fbf9900f6bb87bedf3170cd4a4cc98e7df5699259622ddf5dc5dc5b11f9"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f634d62003f7555d0ffac798f4bf8df6",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4,>=3.6",
            "size": 5306014,
            "upload_time": "2025-02-01T15:02:45",
            "upload_time_iso_8601": "2025-02-01T15:02:45.546784Z",
            "url": "https://files.pythonhosted.org/packages/ca/1d/4b7820c7c6fe80d33fb33094841f775a2cfa96dd9b4174f24cc919261c70/regopy-0.4.6-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ac5ba0e84ccd1ca30db6e89d67680b757033469d4e1fd8df4fd709b33770c5e5",
                "md5": "ab4f1cc80fad5e4c331ce5d78cc869b2",
                "sha256": "a58e7059ca6d8df2d5d27f511c7abe3b8a995429e4525bf6ac2ebf657a494a6f"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "ab4f1cc80fad5e4c331ce5d78cc869b2",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4,>=3.6",
            "size": 1523225,
            "upload_time": "2025-02-01T15:02:48",
            "upload_time_iso_8601": "2025-02-01T15:02:48.009916Z",
            "url": "https://files.pythonhosted.org/packages/ac/5b/a0e84ccd1ca30db6e89d67680b757033469d4e1fd8df4fd709b33770c5e5/regopy-0.4.6-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8a5fbae27057a3add16e2fe8ab271ca189a85c4ab8140d1bc8d745d1562de553",
                "md5": "c50e14b4b2ed7ec51b5ab0c699a00d76",
                "sha256": "eff7ee2a00d715846946106391753a3dbe128bd1211e393918305865a5f8415e"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "c50e14b4b2ed7ec51b5ab0c699a00d76",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<4,>=3.6",
            "size": 1523219,
            "upload_time": "2025-02-01T15:02:49",
            "upload_time_iso_8601": "2025-02-01T15:02:49.405734Z",
            "url": "https://files.pythonhosted.org/packages/8a/5f/bae27057a3add16e2fe8ab271ca189a85c4ab8140d1bc8d745d1562de553/regopy-0.4.6-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "185f251173b0139921e517e8f6915a36deff88be2648add79a2592fc5ad758ae",
                "md5": "f84de0168857356eccd3250ba05d1b5f",
                "sha256": "99fb4e4cd940da67f6308926441f6f54e97357ce1e0ee61c633cfe98b32e8df1"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "f84de0168857356eccd3250ba05d1b5f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4,>=3.6",
            "size": 4954685,
            "upload_time": "2025-02-01T15:02:51",
            "upload_time_iso_8601": "2025-02-01T15:02:51.058450Z",
            "url": "https://files.pythonhosted.org/packages/18/5f/251173b0139921e517e8f6915a36deff88be2648add79a2592fc5ad758ae/regopy-0.4.6-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a75aa9a635bccfca6117e8438c8e6aece3757703ee5749080a5d148cc0449712",
                "md5": "a6a3a752173d9800734fe835efd99b4a",
                "sha256": "67b9acafdaf721ea9d29bec1c7ea27319f4f25ba7f009f0ae77937966f9921aa"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "a6a3a752173d9800734fe835efd99b4a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4,>=3.6",
            "size": 4711065,
            "upload_time": "2025-02-01T15:02:52",
            "upload_time_iso_8601": "2025-02-01T15:02:52.972745Z",
            "url": "https://files.pythonhosted.org/packages/a7/5a/a9a635bccfca6117e8438c8e6aece3757703ee5749080a5d148cc0449712/regopy-0.4.6-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8e9add66d2b78121286b85491e9b446c257fda8490e98bd1e21c6d708472dfb7",
                "md5": "fb6297ca38b5b2c59b71035c156c5f0d",
                "sha256": "5657b389117022c2126afc196aedf5522b93ce1816e1730342b8c6fdd49395a0"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fb6297ca38b5b2c59b71035c156c5f0d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4,>=3.6",
            "size": 4509372,
            "upload_time": "2025-02-01T15:02:56",
            "upload_time_iso_8601": "2025-02-01T15:02:56.973458Z",
            "url": "https://files.pythonhosted.org/packages/8e/9a/dd66d2b78121286b85491e9b446c257fda8490e98bd1e21c6d708472dfb7/regopy-0.4.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a50d8d51c0cbf4a5a2fccab1e4a7d1b2c04c12fb9fc47f164c86b164f0ca59ea",
                "md5": "fb050ccbbe567b8cbba44ccf26b35dd5",
                "sha256": "16663b805e81451ef7c192bfa8d5e75a37716597d0325fdd4299c26aa5127655"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp312-cp312-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "fb050ccbbe567b8cbba44ccf26b35dd5",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4,>=3.6",
            "size": 5630320,
            "upload_time": "2025-02-01T15:02:59",
            "upload_time_iso_8601": "2025-02-01T15:02:59.368984Z",
            "url": "https://files.pythonhosted.org/packages/a5/0d/8d51c0cbf4a5a2fccab1e4a7d1b2c04c12fb9fc47f164c86b164f0ca59ea/regopy-0.4.6-cp312-cp312-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "677a4fd8390d27fbc999190e433328bdcdc5ccbc6ed6b5c5059f0d3e657c60a0",
                "md5": "a9fe32b9b88c989133613584c949ffe5",
                "sha256": "301e80eaf3dd7193fbf5da8fc5a72088d3f6740607f31953367bd247bb6b3594"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp312-cp312-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a9fe32b9b88c989133613584c949ffe5",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4,>=3.6",
            "size": 5306015,
            "upload_time": "2025-02-01T15:03:01",
            "upload_time_iso_8601": "2025-02-01T15:03:01.266501Z",
            "url": "https://files.pythonhosted.org/packages/67/7a/4fd8390d27fbc999190e433328bdcdc5ccbc6ed6b5c5059f0d3e657c60a0/regopy-0.4.6-cp312-cp312-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "31c996320a45e4ba0e45d9e4c3302b75b1f4267414f1aa69e2c98130087616b7",
                "md5": "301a560efb4228641ec78c3e47a998e2",
                "sha256": "4cb8cf9a5c53722aa09a1c7f435dcd71e30f38ee97c7273da8b003a3b80d2453"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "301a560efb4228641ec78c3e47a998e2",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4,>=3.6",
            "size": 1523268,
            "upload_time": "2025-02-01T15:03:03",
            "upload_time_iso_8601": "2025-02-01T15:03:03.546592Z",
            "url": "https://files.pythonhosted.org/packages/31/c9/96320a45e4ba0e45d9e4c3302b75b1f4267414f1aa69e2c98130087616b7/regopy-0.4.6-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5364ea3523c8e5d33454a8372047e55379c94b19333c7debd29ef00e31a7620f",
                "md5": "8aae285718b6ed63e6c64c745a4af999",
                "sha256": "252b67a046050c4f42d65f0e5e0a13a7732ac77773973fe7507c07000f5cbb6a"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "8aae285718b6ed63e6c64c745a4af999",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<4,>=3.6",
            "size": 1523259,
            "upload_time": "2025-02-01T15:03:04",
            "upload_time_iso_8601": "2025-02-01T15:03:04.960944Z",
            "url": "https://files.pythonhosted.org/packages/53/64/ea3523c8e5d33454a8372047e55379c94b19333c7debd29ef00e31a7620f/regopy-0.4.6-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "357c4dedb4d2b15829aa47d1d8ffae4bb1de675338c6dd6744f72e9ed2cdb0c3",
                "md5": "67f00df84cc84bca97011b797104b865",
                "sha256": "73ca96f9d3cf2d7d6af485ed8195d72d180c28c34a71619a6220a71beafa1484"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "67f00df84cc84bca97011b797104b865",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "<4,>=3.6",
            "size": 4711076,
            "upload_time": "2025-02-01T15:03:07",
            "upload_time_iso_8601": "2025-02-01T15:03:07.352813Z",
            "url": "https://files.pythonhosted.org/packages/35/7c/4dedb4d2b15829aa47d1d8ffae4bb1de675338c6dd6744f72e9ed2cdb0c3/regopy-0.4.6-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d2d6468f13440a80a9f076a5147335eb3fa0d1bc603d9954229fabb1ee39ba47",
                "md5": "8bb8d55da4069778485d1657c9326f81",
                "sha256": "366e6e02a60ef25e68c5e88eb9eaee0d87dff1d9593214e6011a03c7e308c8f8"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8bb8d55da4069778485d1657c9326f81",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "<4,>=3.6",
            "size": 4509318,
            "upload_time": "2025-02-01T15:03:10",
            "upload_time_iso_8601": "2025-02-01T15:03:10.520864Z",
            "url": "https://files.pythonhosted.org/packages/d2/d6/468f13440a80a9f076a5147335eb3fa0d1bc603d9954229fabb1ee39ba47/regopy-0.4.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e30836cedef382ff4ebe700ba33b6316385eb86573eb826dda43141156e51423",
                "md5": "c058aaf236e57c9a95c48f4acadb246f",
                "sha256": "6e822721b4eefcf772e2f21c20c01d727896d083dbe706723e7c257d701ccf05"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp37-cp37m-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "c058aaf236e57c9a95c48f4acadb246f",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "<4,>=3.6",
            "size": 5630487,
            "upload_time": "2025-02-01T15:03:13",
            "upload_time_iso_8601": "2025-02-01T15:03:13.176400Z",
            "url": "https://files.pythonhosted.org/packages/e3/08/36cedef382ff4ebe700ba33b6316385eb86573eb826dda43141156e51423/regopy-0.4.6-cp37-cp37m-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0403ef58888f93b05f3236f999e588c2d2c4ff3f10450ee780b2400b7daf610e",
                "md5": "5d9be2748514290e0cc032b2a9aa808d",
                "sha256": "694facfeaea0a680c04477a7b543016b955c090179b7e42492111eec20390777"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp37-cp37m-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5d9be2748514290e0cc032b2a9aa808d",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "<4,>=3.6",
            "size": 5305956,
            "upload_time": "2025-02-01T15:03:15",
            "upload_time_iso_8601": "2025-02-01T15:03:15.735299Z",
            "url": "https://files.pythonhosted.org/packages/04/03/ef58888f93b05f3236f999e588c2d2c4ff3f10450ee780b2400b7daf610e/regopy-0.4.6-cp37-cp37m-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1e5c8f4034205ea20d81aaa07d02397124cc2bb60c5b65af118d918296e934c2",
                "md5": "8aed3d1343d68254d5b1701efa3f6ce3",
                "sha256": "6a4bfac7b9d41dcfadd76e6aa004f50ed5e8dce997c4d0321fe2bd9fc0254546"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp37-cp37m-win32.whl",
            "has_sig": false,
            "md5_digest": "8aed3d1343d68254d5b1701efa3f6ce3",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "<4,>=3.6",
            "size": 1523239,
            "upload_time": "2025-02-01T15:03:18",
            "upload_time_iso_8601": "2025-02-01T15:03:18.289491Z",
            "url": "https://files.pythonhosted.org/packages/1e/5c/8f4034205ea20d81aaa07d02397124cc2bb60c5b65af118d918296e934c2/regopy-0.4.6-cp37-cp37m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4ec5ca6001ac8cf4105701d3c895bdf22b4f3d4a623de6e3a56f854bd75dc7a8",
                "md5": "37efe47cd53f38e8a5649aa89d15d6da",
                "sha256": "38a109eaa3e385d0a6cb442cd3071408fd9fd83b9d4c6c79780ca0a375fef7df"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "37efe47cd53f38e8a5649aa89d15d6da",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "<4,>=3.6",
            "size": 1523154,
            "upload_time": "2025-02-01T15:03:20",
            "upload_time_iso_8601": "2025-02-01T15:03:20.638309Z",
            "url": "https://files.pythonhosted.org/packages/4e/c5/ca6001ac8cf4105701d3c895bdf22b4f3d4a623de6e3a56f854bd75dc7a8/regopy-0.4.6-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d57daaa5eeba0dd2f97fb3d5fba4833ec242eafab632c5fc0b54f608de8e0126",
                "md5": "d1dfe4b19b90d513ee7978d8efd6d7f1",
                "sha256": "edb1f6e92c6f7ef53a165a11a6b54fa64d1b7ea2dd5ae38a8b087f1acf89533f"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "d1dfe4b19b90d513ee7978d8efd6d7f1",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<4,>=3.6",
            "size": 4711075,
            "upload_time": "2025-02-01T15:03:23",
            "upload_time_iso_8601": "2025-02-01T15:03:23.091347Z",
            "url": "https://files.pythonhosted.org/packages/d5/7d/aaa5eeba0dd2f97fb3d5fba4833ec242eafab632c5fc0b54f608de8e0126/regopy-0.4.6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cf58464ef30ffb31f2aef863fc43308d5928893c870ebe306b554b8c9cb660dd",
                "md5": "f4af75202c30c9712993f66e5670791e",
                "sha256": "91c9034e468ada64d66fe8ab816fdae086f3478391d421f099ab7d7fd507b401"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f4af75202c30c9712993f66e5670791e",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<4,>=3.6",
            "size": 4509315,
            "upload_time": "2025-02-01T15:03:25",
            "upload_time_iso_8601": "2025-02-01T15:03:25.185095Z",
            "url": "https://files.pythonhosted.org/packages/cf/58/464ef30ffb31f2aef863fc43308d5928893c870ebe306b554b8c9cb660dd/regopy-0.4.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "892972520336f825add7ef173ad859d39b14a9775f39afceedd785abb4ad2656",
                "md5": "f23f38a8229a9cc7be871fd486c7a97d",
                "sha256": "90913dc7b5c4d0e98083850984d951de1fb9d63f9e43f60440efe40ba733baba"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp38-cp38-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "f23f38a8229a9cc7be871fd486c7a97d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<4,>=3.6",
            "size": 5630480,
            "upload_time": "2025-02-01T15:03:28",
            "upload_time_iso_8601": "2025-02-01T15:03:28.265364Z",
            "url": "https://files.pythonhosted.org/packages/89/29/72520336f825add7ef173ad859d39b14a9775f39afceedd785abb4ad2656/regopy-0.4.6-cp38-cp38-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e71597ed8a962154d23e32bd98a432a56fe89d66dbabc1aa33d4a853fbf0f80b",
                "md5": "d9d438c0d327f572ca6cc63c27f52878",
                "sha256": "73e60a1065c921431b74555c458716e41d36e0be2fa826e567cb8cd9b2c4a10e"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp38-cp38-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d9d438c0d327f572ca6cc63c27f52878",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<4,>=3.6",
            "size": 5305956,
            "upload_time": "2025-02-01T15:03:31",
            "upload_time_iso_8601": "2025-02-01T15:03:31.056803Z",
            "url": "https://files.pythonhosted.org/packages/e7/15/97ed8a962154d23e32bd98a432a56fe89d66dbabc1aa33d4a853fbf0f80b/regopy-0.4.6-cp38-cp38-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "67785fa67463a9f8b567c06c6c376f72a141b30f836780d535dd90032b9d59c6",
                "md5": "e926b4c7280b83d752a1421926731878",
                "sha256": "c1ceb79e7e48438035ca15f5d6f6039d43792090e9d239ec5b4c050b4860563f"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "e926b4c7280b83d752a1421926731878",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<4,>=3.6",
            "size": 1523194,
            "upload_time": "2025-02-01T15:03:32",
            "upload_time_iso_8601": "2025-02-01T15:03:32.657693Z",
            "url": "https://files.pythonhosted.org/packages/67/78/5fa67463a9f8b567c06c6c376f72a141b30f836780d535dd90032b9d59c6/regopy-0.4.6-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "68b8bd0bccc16c5f5b485f4af86df8ed06aa7f835c029138f4e80b529e670e0a",
                "md5": "b8944b2bc0c7563941e919bc08ebc2ab",
                "sha256": "3654df7be2b77bd9232859af436005407395d032b2d8452ce1a83c9a20cc0259"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b8944b2bc0c7563941e919bc08ebc2ab",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<4,>=3.6",
            "size": 1523148,
            "upload_time": "2025-02-01T15:03:34",
            "upload_time_iso_8601": "2025-02-01T15:03:34.521747Z",
            "url": "https://files.pythonhosted.org/packages/68/b8/bd0bccc16c5f5b485f4af86df8ed06aa7f835c029138f4e80b529e670e0a/regopy-0.4.6-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "44e15bca4a27412e714ac1e4ba17591da0478b6f0a8a59536ac44226a12d3c8e",
                "md5": "494749b47c5598c0a14187b022837418",
                "sha256": "9446752e0911cd2ef963cb6d6efb9eba463f2f521458f3635e489ffd2d59b5c6"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "494749b47c5598c0a14187b022837418",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<4,>=3.6",
            "size": 4711136,
            "upload_time": "2025-02-01T15:03:38",
            "upload_time_iso_8601": "2025-02-01T15:03:38.218892Z",
            "url": "https://files.pythonhosted.org/packages/44/e1/5bca4a27412e714ac1e4ba17591da0478b6f0a8a59536ac44226a12d3c8e/regopy-0.4.6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cb40914e5c77b8d9464d972b08846c559f7998207724f391efe20d9a1fa9d67e",
                "md5": "0e3e10092e4384c197b65c0aaf399efd",
                "sha256": "deff89dceca3d90595fd6229c641e25367db2d129cb9b2f9f1e8b80ce0993c1d"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0e3e10092e4384c197b65c0aaf399efd",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<4,>=3.6",
            "size": 4509374,
            "upload_time": "2025-02-01T15:03:41",
            "upload_time_iso_8601": "2025-02-01T15:03:41.951578Z",
            "url": "https://files.pythonhosted.org/packages/cb/40/914e5c77b8d9464d972b08846c559f7998207724f391efe20d9a1fa9d67e/regopy-0.4.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0d8bd7a1c7394de8edccb099761824a2902159bddad12728910a21a686fcbb6a",
                "md5": "ac8b191f278f57ce729f21ae0ac2e68c",
                "sha256": "1a9f4215d1808093c77363470a413300f8a77b786192f7ef38f5ae4d683da6f3"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp39-cp39-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "ac8b191f278f57ce729f21ae0ac2e68c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<4,>=3.6",
            "size": 5630539,
            "upload_time": "2025-02-01T15:03:44",
            "upload_time_iso_8601": "2025-02-01T15:03:44.543467Z",
            "url": "https://files.pythonhosted.org/packages/0d/8b/d7a1c7394de8edccb099761824a2902159bddad12728910a21a686fcbb6a/regopy-0.4.6-cp39-cp39-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "680b7c14843b2ec09e7c9582b36aad9712e2da1f8abf3d77233fa2a016e5c450",
                "md5": "4ca02583b4aa21a885e564ed4b3d68bc",
                "sha256": "396e23ca5db5b1c865a57fbbcf699d36fd6d2c87edce50eb9280385b1670cf8e"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp39-cp39-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4ca02583b4aa21a885e564ed4b3d68bc",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<4,>=3.6",
            "size": 5306015,
            "upload_time": "2025-02-01T15:03:47",
            "upload_time_iso_8601": "2025-02-01T15:03:47.142646Z",
            "url": "https://files.pythonhosted.org/packages/68/0b/7c14843b2ec09e7c9582b36aad9712e2da1f8abf3d77233fa2a016e5c450/regopy-0.4.6-cp39-cp39-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0cd9fc3b79d3b8a325f1ef3fb2c1345492da596fe63f2c807ea219beaec7038e",
                "md5": "31193e4b7137c9ef5fe93f43e07bb98b",
                "sha256": "ea8b1100fee04212e9974b33eae8272eb0882615e3a8e105d12900ffe0020c58"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "31193e4b7137c9ef5fe93f43e07bb98b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<4,>=3.6",
            "size": 1523254,
            "upload_time": "2025-02-01T15:03:49",
            "upload_time_iso_8601": "2025-02-01T15:03:49.880516Z",
            "url": "https://files.pythonhosted.org/packages/0c/d9/fc3b79d3b8a325f1ef3fb2c1345492da596fe63f2c807ea219beaec7038e/regopy-0.4.6-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "32283bffbea1b1c7e9d45b96df8eefd99cd6d5d32847c5ede64f52b699ba3544",
                "md5": "ba6ad8ff14a46e63479b3d0f0f51cfd9",
                "sha256": "bf5285b9210c577409982ccda4981b827d3ddafd2016f1e22d41d3950269128f"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "ba6ad8ff14a46e63479b3d0f0f51cfd9",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<4,>=3.6",
            "size": 1523173,
            "upload_time": "2025-02-01T15:03:52",
            "upload_time_iso_8601": "2025-02-01T15:03:52.110948Z",
            "url": "https://files.pythonhosted.org/packages/32/28/3bffbea1b1c7e9d45b96df8eefd99cd6d5d32847c5ede64f52b699ba3544/regopy-0.4.6-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3bafb4e67fc571596de4fde510bb85f789fabbedbc22b24861e72ccd4b10c7dc",
                "md5": "b5397f02a57e3dec18e66b8c6ca63a2c",
                "sha256": "b5bbf5957fe0a6c4ed2fb0848011c4d29618eba1d67bab2ec3b95233de301cff"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "b5397f02a57e3dec18e66b8c6ca63a2c",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "<4,>=3.6",
            "size": 4711171,
            "upload_time": "2025-02-01T15:03:54",
            "upload_time_iso_8601": "2025-02-01T15:03:54.556870Z",
            "url": "https://files.pythonhosted.org/packages/3b/af/b4e67fc571596de4fde510bb85f789fabbedbc22b24861e72ccd4b10c7dc/regopy-0.4.6-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "88439d8ca92d8aa70e3f17de09c500589d9dd7bf6b23f96082cbf9ed162bc0c3",
                "md5": "1026d0f1592e374fb9bebaf6dd8cb9c6",
                "sha256": "0ff535af8c88b82f870c7d9a8fe6258693e376da52925b3dbdff4415af9186d7"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1026d0f1592e374fb9bebaf6dd8cb9c6",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": "<4,>=3.6",
            "size": 4509338,
            "upload_time": "2025-02-01T15:03:56",
            "upload_time_iso_8601": "2025-02-01T15:03:56.275366Z",
            "url": "https://files.pythonhosted.org/packages/88/43/9d8ca92d8aa70e3f17de09c500589d9dd7bf6b23f96082cbf9ed162bc0c3/regopy-0.4.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9d9c55490808d2e7ce70f236e085dac5c9d5e7fe3c55814747667275cd000aa6",
                "md5": "d24f634b12044703c8f3fc6b4de5203f",
                "sha256": "73ebaa7e7423e5a9cdf2f4d47179dfc6706a8eb41cc2a11ee0570f7d2de0a82a"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "d24f634b12044703c8f3fc6b4de5203f",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "<4,>=3.6",
            "size": 4711176,
            "upload_time": "2025-02-01T15:03:58",
            "upload_time_iso_8601": "2025-02-01T15:03:58.865292Z",
            "url": "https://files.pythonhosted.org/packages/9d/9c/55490808d2e7ce70f236e085dac5c9d5e7fe3c55814747667275cd000aa6/regopy-0.4.6-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c63080f4e5e08c8b7bea6b892d61abff9067247ce687ef874df5bc18b1bd3b60",
                "md5": "de1a549c532dd8d8a5e5ec165acbcb76",
                "sha256": "1fd3696cc885fe36a654ba3bee505bb34a7dfc808ca04d609f0e94bfa828d80c"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "de1a549c532dd8d8a5e5ec165acbcb76",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": "<4,>=3.6",
            "size": 4509343,
            "upload_time": "2025-02-01T15:04:00",
            "upload_time_iso_8601": "2025-02-01T15:04:00.562395Z",
            "url": "https://files.pythonhosted.org/packages/c6/30/80f4e5e08c8b7bea6b892d61abff9067247ce687ef874df5bc18b1bd3b60/regopy-0.4.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "27c2133bbc7701615d0e579cef8be8681a35931b260913e9cf4ea3ede5fb3988",
                "md5": "dd61588b50f8e0d9d4a803425eeedfd5",
                "sha256": "29d92dfabaf0e1db0bc27f3b607607e1cc16dd5a8008d79b68d5936c09ab4057"
            },
            "downloads": -1,
            "filename": "regopy-0.4.6.tar.gz",
            "has_sig": false,
            "md5_digest": "dd61588b50f8e0d9d4a803425eeedfd5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4,>=3.6",
            "size": 17204,
            "upload_time": "2025-02-01T15:04:02",
            "upload_time_iso_8601": "2025-02-01T15:04:02.022496Z",
            "url": "https://files.pythonhosted.org/packages/27/c2/133bbc7701615d0e579cef8be8681a35931b260913e9cf4ea3ede5fb3988/regopy-0.4.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-01 15:04:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "microsoft",
    "github_project": "rego-cpp",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "regopy"
}
        
Elapsed time: 7.38984s