# `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"
}