registrata 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- registrata-0.1.0/.gitignore +8 -0
- registrata-0.1.0/LICENSE +21 -0
- registrata-0.1.0/PKG-INFO +697 -0
- registrata-0.1.0/README.md +674 -0
- registrata-0.1.0/pyproject.toml +72 -0
- registrata-0.1.0/src/registrata/__init__.py +184 -0
- registrata-0.1.0/src/registrata/__main__.py +13 -0
- registrata-0.1.0/src/registrata/_flags.py +140 -0
- registrata-0.1.0/src/registrata/backends/__init__.py +4 -0
- registrata-0.1.0/src/registrata/backends/base.py +118 -0
- registrata-0.1.0/src/registrata/backends/json_store.py +81 -0
- registrata-0.1.0/src/registrata/backends/memory.py +461 -0
- registrata-0.1.0/src/registrata/banner.py +130 -0
- registrata-0.1.0/src/registrata/cache.py +323 -0
- registrata-0.1.0/src/registrata/capabilities.py +72 -0
- registrata-0.1.0/src/registrata/circuitbreaker.py +266 -0
- registrata-0.1.0/src/registrata/cli.py +1608 -0
- registrata-0.1.0/src/registrata/client.py +266 -0
- registrata-0.1.0/src/registrata/comparison.py +305 -0
- registrata-0.1.0/src/registrata/conformance.py +235 -0
- registrata-0.1.0/src/registrata/diagnostics.py +284 -0
- registrata-0.1.0/src/registrata/errors.py +283 -0
- registrata-0.1.0/src/registrata/experimental/__init__.py +43 -0
- registrata-0.1.0/src/registrata/experimental/batch.py +565 -0
- registrata-0.1.0/src/registrata/experimental/gateway.py +642 -0
- registrata-0.1.0/src/registrata/experimental/lookup.py +486 -0
- registrata-0.1.0/src/registrata/experimental/rdap.py +1156 -0
- registrata-0.1.0/src/registrata/experimental/whois.py +495 -0
- registrata-0.1.0/src/registrata/experimental/whois_adapters.py +188 -0
- registrata-0.1.0/src/registrata/metrics.py +88 -0
- registrata-0.1.0/src/registrata/model.py +1080 -0
- registrata-0.1.0/src/registrata/observability.py +106 -0
- registrata-0.1.0/src/registrata/protocol.py +408 -0
- registrata-0.1.0/src/registrata/py.typed +0 -0
- registrata-0.1.0/src/registrata/query.py +247 -0
- registrata-0.1.0/src/registrata/ratelimit.py +131 -0
- registrata-0.1.0/src/registrata/record_schema.py +261 -0
- registrata-0.1.0/src/registrata/records.py +227 -0
- registrata-0.1.0/src/registrata/resolver.py +122 -0
- registrata-0.1.0/src/registrata/retry.py +71 -0
- registrata-0.1.0/src/registrata/schema.py +442 -0
- registrata-0.1.0/src/registrata/server.py +956 -0
- registrata-0.1.0/src/registrata/soa.py +108 -0
- registrata-0.1.0/src/registrata/special_names.py +99 -0
- registrata-0.1.0/src/registrata/wire.py +112 -0
- registrata-0.1.0/src/rwhois/__init__.py +55 -0
- registrata-0.1.0/tests/fixtures/live/README.md +69 -0
- registrata-0.1.0/tests/fixtures/live/rdap_example_com_verisign.json +1 -0
- registrata-0.1.0/tests/fixtures/live/rdap_example_org_pir.json +213 -0
- registrata-0.1.0/tests/fixtures/live/whois_example_com_verisign.txt +56 -0
- registrata-0.1.0/tests/fixtures/live/whois_example_org_pir.txt +25 -0
- registrata-0.1.0/tests/fixtures/live/whois_org_iana.txt +53 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/attribute-bad-type-suffix.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/attribute-missing-class-separator.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/attribute-missing-value.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/banner-bad-capability-id.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/banner-missing-host.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/banner-short-capability-id.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/class-name-invalid-characters.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/class-record-too-few-parts.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/error-code-nonnumeric.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/error-code-wrong-width.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/info-block-missing-on.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/info-off-without-on.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/object-class-mismatch-mid-record.txt +3 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/referral-bare-line.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/referral-missing-auth-area.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/referral-nonnumeric-port.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/referral-port-out-of-range.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/referral-wrong-scheme.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/register-missing-colon.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/schema-record-too-few-parts.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/soa-missing-authority.txt +3 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/status-missing-colon.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/malformed/xfer-missing-attribute-separator.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/manifest.json +2469 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-banner-versions.txt +3 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-class-record.txt +7 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-directive-notify.txt +6 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-directive-record.txt +7 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-directive-security.txt +8 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-directive-session-control.txt +20 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-directive-transfer.txt +5 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-display-record.txt +5 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-lexicon-object.txt +14 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-protocol-server-returns.txt +18 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-query-attribute-and-boolean.txt +6 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-query-result-multiclass.txt +9 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-query-result-referrals.txt +6 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-query-string-leading-star-3-4.txt +3 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-query-string-quoted.txt +3 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-query-string-trailing-star.txt +5 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-register-add.txt +8 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-register-del.txt +7 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-register-mod.txt +13 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-response-error.txt +1 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-response-info-block.txt +5 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-schema-record.txt +7 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-soa-record.txt +16 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-status-record.txt +8 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-x-dialogue.txt +5 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/abnf-xfer-record.txt +7 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/banner-multi-version.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/banner-rfc-example.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/directive-class.txt +7 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/directive-directive-list.txt +7 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/directive-display.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/directive-info-block.txt +5 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/directive-register-notify.txt +3 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/directive-schema.txt +13 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/directive-soa.txt +12 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/directive-status.txt +7 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/directive-xfer.txt +5 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/error-idle-time-exceeded.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/query-domain-object.txt +16 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/query-multiple-objects.txt +6 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/query-no-objects.txt +1 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/query-objects-and-referral.txt +5 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/query-referral-chain.txt +3 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/query-referral.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/valid/query-typed-attributes.txt +8 -0
- registrata-0.1.0/tests/fixtures/rwhois/wire/abnf-wire-bare-lf.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/wire/abnf-wire-octets.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/wire/bare-lf-terminated.txt +1 -0
- registrata-0.1.0/tests/fixtures/rwhois/wire/non-ascii-octets-are-8-bit-safe.txt +2 -0
- registrata-0.1.0/tests/fixtures/rwhois/wire/oversized-line-memory-bomb.txt +2 -0
- registrata-0.1.0/tests/test_banner.py +38 -0
- registrata-0.1.0/tests/test_batch.py +1043 -0
- registrata-0.1.0/tests/test_cache.py +61 -0
- registrata-0.1.0/tests/test_circuitbreaker.py +65 -0
- registrata-0.1.0/tests/test_cli.py +1012 -0
- registrata-0.1.0/tests/test_comparison.py +203 -0
- registrata-0.1.0/tests/test_compat_rename.py +102 -0
- registrata-0.1.0/tests/test_conformance.py +56 -0
- registrata-0.1.0/tests/test_conformance_verdicts.py +158 -0
- registrata-0.1.0/tests/test_diagnostics.py +42 -0
- registrata-0.1.0/tests/test_docs_cli.py +191 -0
- registrata-0.1.0/tests/test_experimental_lookup.py +211 -0
- registrata-0.1.0/tests/test_experimental_rdap.py +555 -0
- registrata-0.1.0/tests/test_experimental_whois.py +163 -0
- registrata-0.1.0/tests/test_flags.py +105 -0
- registrata-0.1.0/tests/test_gateway.py +565 -0
- registrata-0.1.0/tests/test_json_store.py +28 -0
- registrata-0.1.0/tests/test_live_fixtures.py +303 -0
- registrata-0.1.0/tests/test_metrics.py +18 -0
- registrata-0.1.0/tests/test_model.py +110 -0
- registrata-0.1.0/tests/test_observability.py +52 -0
- registrata-0.1.0/tests/test_protocol.py +40 -0
- registrata-0.1.0/tests/test_query.py +44 -0
- registrata-0.1.0/tests/test_ratelimit.py +21 -0
- registrata-0.1.0/tests/test_rdap_extensions.py +1406 -0
- registrata-0.1.0/tests/test_rdap_http.py +858 -0
- registrata-0.1.0/tests/test_record_schema.py +147 -0
- registrata-0.1.0/tests/test_records.py +52 -0
- registrata-0.1.0/tests/test_referral.py +56 -0
- registrata-0.1.0/tests/test_register.py +705 -0
- registrata-0.1.0/tests/test_resolver.py +52 -0
- registrata-0.1.0/tests/test_retry.py +60 -0
- registrata-0.1.0/tests/test_rfc2167_appendix_c.py +108 -0
- registrata-0.1.0/tests/test_roadmap_rows.py +173 -0
- registrata-0.1.0/tests/test_rwhois_abnf.py +1866 -0
- registrata-0.1.0/tests/test_rwhois_corpus.py +509 -0
- registrata-0.1.0/tests/test_rwhois_framing.py +650 -0
- registrata-0.1.0/tests/test_rwhois_hostile_server.py +346 -0
- registrata-0.1.0/tests/test_rwhois_property.py +638 -0
- registrata-0.1.0/tests/test_schema_validate.py +167 -0
- registrata-0.1.0/tests/test_server_client.py +314 -0
- registrata-0.1.0/tests/test_server_extra.py +83 -0
- registrata-0.1.0/tests/test_slow_peer.py +237 -0
- registrata-0.1.0/tests/test_special_names.py +233 -0
- registrata-0.1.0/tests/test_whois_adapters.py +67 -0
- registrata-0.1.0/tests/test_wire_security.py +49 -0
- registrata-0.1.0/tools/generate_rwhois_corpus.py +697 -0
- registrata-0.1.0/tools/probe_rwhois_malformed.py +89 -0
- registrata-0.1.0/tools/rwhois_abnf_gen.py +3207 -0
- registrata-0.1.0/tools/rwhois_abnf_match.py +252 -0
- registrata-0.1.0/tools/rwhois_grammar.py +538 -0
registrata-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Justin Capella
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|