astroapi-io-client 0.2.2__tar.gz → 0.2.3__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.
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/PKG-INFO +4 -4
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/README.md +3 -3
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/pyproject.toml +1 -1
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/src/astroapi_client/__init__.py +3 -3
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/src/astroapi_client/_validation.py +12 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/src/astroapi_client/client.py +6 -2
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/src/astroapi_client/types.py +8 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/src/astroapi_io_client.egg-info/PKG-INFO +4 -4
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/tests/test_client.py +6 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/LICENSE.txt +0 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/setup.cfg +0 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/src/astroapi_client/errors.py +0 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/src/astroapi_client/py.typed +0 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/src/astroapi_client/receipts.py +0 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/src/astroapi_io_client.egg-info/SOURCES.txt +0 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/src/astroapi_io_client.egg-info/dependency_links.txt +0 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/src/astroapi_io_client.egg-info/requires.txt +0 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/src/astroapi_io_client.egg-info/top_level.txt +0 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/tests/test_aspect_windows_client.py +0 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/tests/test_calendar_export.py +0 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/tests/test_davison_input.py +0 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/tests/test_house_ingresses_client.py +0 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/tests/test_next_expansions_client.py +0 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/tests/test_onboarding_context_client.py +0 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/tests/test_planetary_events_client.py +0 -0
- {astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/tests/test_varga_input.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: astroapi-io-client
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: Synchronous Python client for the AstroAPI.io calculation gateway
|
|
5
5
|
License-Expression: ISC
|
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -14,12 +14,11 @@ Dynamic: license-file
|
|
|
14
14
|
|
|
15
15
|
# AstroAPI.io Python client
|
|
16
16
|
|
|
17
|
-
The
|
|
17
|
+
The R196 source version `astroapi-io-client==0.2.3` covers all forty-four calculation routes: forty-three standard operations plus the separate Pro Nakshatra Timeline. Minor-body calculations are not part of the contract.
|
|
18
18
|
|
|
19
19
|
A synchronous client for Python 3.10+, with no runtime dependencies.
|
|
20
20
|
The package import is `astroapi_client`; the distribution name is
|
|
21
|
-
`astroapi-io-client`. Version 0.2.2 is the R195
|
|
22
|
-
new deployed API capabilities.
|
|
21
|
+
`astroapi-io-client`. Version 0.2.2 is the published R195 package; 0.2.3 is source-only and package availability never implies deployed API capabilities.
|
|
23
22
|
|
|
24
23
|
Install from PyPI with `python -m pip install astroapi-io-client==0.2.2`, or from a local checkout using `python -m pip install ./clients/python`.
|
|
25
24
|
Building needs setuptools and wheel; the installed client uses only the standard
|
|
@@ -97,6 +96,7 @@ Type hints describe the server contract and do not perform response validation.
|
|
|
97
96
|
| `event_rule_search` **beta** | `calculateEventRuleSearch` | bounded versioned AND/OR/NOT rules, location, and interval | validation/cost analysis plus sampled matches and windows |
|
|
98
97
|
| `convention_compare` **beta** | `calculateConventionCompare` | two profiles with one birth, or two trusted signed responses | field-level differences without ranking or interpretation |
|
|
99
98
|
| `chart_robustness` **beta** | `calculateChartRobustness` | unknown or approximate birth time plus 2–3 convention profiles | sampled stability classifications without rectification, ranking, or prediction |
|
|
99
|
+
| `civil_time_audit` **beta** | `calculateCivilTimeAudit` | pinned place, local date/time, one explicit profile | both repeated-time chart candidates and exact 22-fact differences, or no shifted gap time |
|
|
100
100
|
| `synastry_svg` **beta** | `calculateSynastrySvg` | two births; optional zodiac/houses/theme/aspects/`include_png` | `result["svg"]`, optional `result["png"]` |
|
|
101
101
|
| `transit_svg` **beta** | `calculateTransitSvg` | birth and transit date; optional display controls/`include_png` | `result["svg"]`, optional `result["png"]` |
|
|
102
102
|
| `natal_report` **beta** | `calculateNatalReport` | birth; optional zodiac/houses/theme/SVG/download | `result["html"]`, source-linked `result["facts"]`, optional `result["download"]` |
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
# AstroAPI.io Python client
|
|
2
2
|
|
|
3
|
-
The
|
|
3
|
+
The R196 source version `astroapi-io-client==0.2.3` covers all forty-four calculation routes: forty-three standard operations plus the separate Pro Nakshatra Timeline. Minor-body calculations are not part of the contract.
|
|
4
4
|
|
|
5
5
|
A synchronous client for Python 3.10+, with no runtime dependencies.
|
|
6
6
|
The package import is `astroapi_client`; the distribution name is
|
|
7
|
-
`astroapi-io-client`. Version 0.2.2 is the R195
|
|
8
|
-
new deployed API capabilities.
|
|
7
|
+
`astroapi-io-client`. Version 0.2.2 is the published R195 package; 0.2.3 is source-only and package availability never implies deployed API capabilities.
|
|
9
8
|
|
|
10
9
|
Install from PyPI with `python -m pip install astroapi-io-client==0.2.2`, or from a local checkout using `python -m pip install ./clients/python`.
|
|
11
10
|
Building needs setuptools and wheel; the installed client uses only the standard
|
|
@@ -83,6 +82,7 @@ Type hints describe the server contract and do not perform response validation.
|
|
|
83
82
|
| `event_rule_search` **beta** | `calculateEventRuleSearch` | bounded versioned AND/OR/NOT rules, location, and interval | validation/cost analysis plus sampled matches and windows |
|
|
84
83
|
| `convention_compare` **beta** | `calculateConventionCompare` | two profiles with one birth, or two trusted signed responses | field-level differences without ranking or interpretation |
|
|
85
84
|
| `chart_robustness` **beta** | `calculateChartRobustness` | unknown or approximate birth time plus 2–3 convention profiles | sampled stability classifications without rectification, ranking, or prediction |
|
|
85
|
+
| `civil_time_audit` **beta** | `calculateCivilTimeAudit` | pinned place, local date/time, one explicit profile | both repeated-time chart candidates and exact 22-fact differences, or no shifted gap time |
|
|
86
86
|
| `synastry_svg` **beta** | `calculateSynastrySvg` | two births; optional zodiac/houses/theme/aspects/`include_png` | `result["svg"]`, optional `result["png"]` |
|
|
87
87
|
| `transit_svg` **beta** | `calculateTransitSvg` | birth and transit date; optional display controls/`include_png` | `result["svg"]`, optional `result["png"]` |
|
|
88
88
|
| `natal_report` **beta** | `calculateNatalReport` | birth; optional zodiac/houses/theme/SVG/download | `result["html"]`, source-linked `result["facts"]`, optional `result["download"]` |
|
|
@@ -17,7 +17,7 @@ from .types import (
|
|
|
17
17
|
GeographicLocation, RelocationChartInput, AstrocartographyBody, AstrocartographyInput,
|
|
18
18
|
EclipseType, EclipseGeometryInput, EclipseObserverSnapshot, EclipseEvent, EclipseGeometryResponse, MoonPhaseSector, ElectionalAspectFilter,
|
|
19
19
|
ElectionalFilters, ElectionalSearchInput,
|
|
20
|
-
EventRule, EventRuleSearchInput, ConventionProfile, ConventionCompareInput, ReleaseCompareInput, ChartRobustnessInput,
|
|
20
|
+
EventRule, EventRuleSearchInput, ConventionProfile, ConventionCompareInput, ReleaseCompareInput, ChartRobustnessInput, CivilTimeAuditInput,
|
|
21
21
|
NatalAnalysisAspectName, NatalAnalysisAspectOption, NatalAnalysisInput,
|
|
22
22
|
AshtakootaInput, AshtakavargaInput, NumerologyInput, PlanetaryHoursInput,
|
|
23
23
|
FixedStar, FixedStarsInput,
|
|
@@ -30,7 +30,7 @@ from .types import (
|
|
|
30
30
|
PlaceSearchInput, TimezoneResolveInput, NatalContextInput,
|
|
31
31
|
)
|
|
32
32
|
|
|
33
|
-
__version__ = "0.2.
|
|
33
|
+
__version__ = "0.2.3"
|
|
34
34
|
__all__ = [
|
|
35
35
|
"NumerologyInput", "verify_calculation_receipt",
|
|
36
36
|
"AstroAPIClient", "AstroAPIError", "ClientBusyError", "HTTPError", "DavisonInput",
|
|
@@ -45,7 +45,7 @@ __all__ = [
|
|
|
45
45
|
"GeographicLocation", "RelocationChartInput", "AstrocartographyBody", "AstrocartographyInput",
|
|
46
46
|
"EclipseType", "EclipseGeometryInput", "EclipseObserverSnapshot", "EclipseEvent", "EclipseGeometryResponse", "MoonPhaseSector", "ElectionalAspectFilter",
|
|
47
47
|
"ElectionalFilters", "ElectionalSearchInput",
|
|
48
|
-
"EventRule", "EventRuleSearchInput", "ConventionProfile", "ConventionCompareInput", "ReleaseCompareInput", "ChartRobustnessInput",
|
|
48
|
+
"EventRule", "EventRuleSearchInput", "ConventionProfile", "ConventionCompareInput", "ReleaseCompareInput", "ChartRobustnessInput", "CivilTimeAuditInput",
|
|
49
49
|
"NatalAnalysisAspectName", "NatalAnalysisAspectOption", "NatalAnalysisInput",
|
|
50
50
|
"AshtakootaInput", "AshtakavargaInput", "PlanetaryHoursInput",
|
|
51
51
|
"FixedStar", "FixedStarsInput",
|
|
@@ -664,6 +664,18 @@ def encode_request(route: str, payload: Any) -> bytes:
|
|
|
664
664
|
if (type(location["lat"]) not in (int, float) or not math.isfinite(location["lat"]) or abs(location["lat"]) >= 90 or type(location["lon"]) not in (int, float) or not math.isfinite(location["lon"]) or abs(location["lon"]) > 180): _invalid("event rule coordinates are outside supported bounds.")
|
|
665
665
|
if "sample_minutes" in data and data["sample_minutes"] not in (15, 30, 60): _invalid("sample_minutes must be 15, 30, or 60.")
|
|
666
666
|
if "validate_only" in data and type(data["validate_only"]) is not bool: _invalid("validate_only must be a boolean.")
|
|
667
|
+
elif route == "civil-time-audit":
|
|
668
|
+
_object(data, {"place_id", "date", "time", "profile"}, {"place_id", "date", "time", "profile"})
|
|
669
|
+
if type(data["place_id"]) is not str or re.fullmatch(r"geonames:[1-9][0-9]{0,11}:2026-10-02", data["place_id"]) is None:
|
|
670
|
+
_invalid("place_id must be a current versioned AstroAPI GeoNames place ID.")
|
|
671
|
+
_date(data["date"]); _time(data["time"])
|
|
672
|
+
profile = _object(data["profile"], {"zodiac", "ayanamsa", "house_system"}, {"zodiac", "house_system"})
|
|
673
|
+
_enum(profile["zodiac"], {"tropical", "sidereal"}, "zodiac must be tropical or sidereal.")
|
|
674
|
+
_enum(profile["house_system"], {"equal", "whole_sign", "placidus"}, "house_system is unsupported.")
|
|
675
|
+
if profile["zodiac"] == "tropical" and "ayanamsa" in profile:
|
|
676
|
+
_invalid("tropical profiles cannot include ayanamsa.")
|
|
677
|
+
if profile["zodiac"] == "sidereal" and ("ayanamsa" not in profile or profile["ayanamsa"] not in _AYANAMSAS):
|
|
678
|
+
_invalid("sidereal profiles require a supported ayanamsa.")
|
|
667
679
|
elif route == "chart-robustness":
|
|
668
680
|
_object(data, {"birth_time", "lat", "lon", "profiles"}, {"birth_time", "lat", "lon", "profiles"})
|
|
669
681
|
workflow = _object(data["birth_time"], {"status", "date", "time", "timezone", "uncertainty_minutes"}, {"status"})
|
|
@@ -32,7 +32,7 @@ from .types import (
|
|
|
32
32
|
MoonPhaseInput, MoonPhaseResponse, DavisonInput, PlanetaryEventsInput, PlanetaryEventsResponse,
|
|
33
33
|
HouseIngressesInput, HouseIngressesResponse,
|
|
34
34
|
AspectWindowsInput, AspectWindowsResponse,
|
|
35
|
-
EventRuleSearchInput, ConventionCompareInput, ReleaseCompareInput, ChartRobustnessInput,
|
|
35
|
+
EventRuleSearchInput, ConventionCompareInput, ReleaseCompareInput, ChartRobustnessInput, CivilTimeAuditInput,
|
|
36
36
|
EventCalendarInput, SynastrySvgInput, TransitSvgInput, NatalReportInput,
|
|
37
37
|
BirthTimeSensitivityInput, RelocationChartInput, AstrocartographyInput,
|
|
38
38
|
PlaceSearchInput, TimezoneResolveInput, NatalContextInput,
|
|
@@ -181,7 +181,7 @@ def _perform(
|
|
|
181
181
|
"Content-Type": "application/json",
|
|
182
182
|
"Accept": "application/json",
|
|
183
183
|
"Accept-Encoding": "identity",
|
|
184
|
-
"User-Agent": "astroapi-io-client/0.2.
|
|
184
|
+
"User-Agent": "astroapi-io-client/0.2.3",
|
|
185
185
|
"Connection": "close",
|
|
186
186
|
**({"X-AstroAPI-Receipt": "v1"} if request_receipt else {}),
|
|
187
187
|
})
|
|
@@ -428,6 +428,10 @@ class AstroAPIClient:
|
|
|
428
428
|
"""BETA: separate sampled birth-time and convention sensitivity."""
|
|
429
429
|
return self._request("chart-robustness", payload)
|
|
430
430
|
|
|
431
|
+
def civil_time_audit(self, payload: CivilTimeAuditInput) -> JSONResponse:
|
|
432
|
+
"""BETA: never guess a repeated or nonexistent local civil time."""
|
|
433
|
+
return self._request("civil-time-audit", payload)
|
|
434
|
+
|
|
431
435
|
def synastry_svg(self, payload: SynastrySvgInput) -> JSONResponse:
|
|
432
436
|
"""BETA: original deterministic double-wheel relationship SVG."""
|
|
433
437
|
return self._request("synastry-svg", payload)
|
|
@@ -71,6 +71,7 @@ class TimezoneResolveInput(TypedDict):
|
|
|
71
71
|
time: str
|
|
72
72
|
|
|
73
73
|
|
|
74
|
+
|
|
74
75
|
class NatalContextInput(AspectsInput, total=False):
|
|
75
76
|
house_system: Literal["equal", "whole_sign", "placidus"]
|
|
76
77
|
formats: list[Literal["json", "xml", "markdown"]]
|
|
@@ -374,6 +375,13 @@ class ConventionProfile(TypedDict, total=False):
|
|
|
374
375
|
house_system: Literal["equal", "whole_sign", "placidus"]
|
|
375
376
|
|
|
376
377
|
|
|
378
|
+
class CivilTimeAuditInput(TypedDict):
|
|
379
|
+
place_id: str
|
|
380
|
+
date: str
|
|
381
|
+
time: str
|
|
382
|
+
profile: ConventionProfile
|
|
383
|
+
|
|
384
|
+
|
|
377
385
|
class ReleaseCompareInput(TypedDict):
|
|
378
386
|
releases: list[JSONResponse]
|
|
379
387
|
|
{astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/src/astroapi_io_client.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: astroapi-io-client
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: Synchronous Python client for the AstroAPI.io calculation gateway
|
|
5
5
|
License-Expression: ISC
|
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -14,12 +14,11 @@ Dynamic: license-file
|
|
|
14
14
|
|
|
15
15
|
# AstroAPI.io Python client
|
|
16
16
|
|
|
17
|
-
The
|
|
17
|
+
The R196 source version `astroapi-io-client==0.2.3` covers all forty-four calculation routes: forty-three standard operations plus the separate Pro Nakshatra Timeline. Minor-body calculations are not part of the contract.
|
|
18
18
|
|
|
19
19
|
A synchronous client for Python 3.10+, with no runtime dependencies.
|
|
20
20
|
The package import is `astroapi_client`; the distribution name is
|
|
21
|
-
`astroapi-io-client`. Version 0.2.2 is the R195
|
|
22
|
-
new deployed API capabilities.
|
|
21
|
+
`astroapi-io-client`. Version 0.2.2 is the published R195 package; 0.2.3 is source-only and package availability never implies deployed API capabilities.
|
|
23
22
|
|
|
24
23
|
Install from PyPI with `python -m pip install astroapi-io-client==0.2.2`, or from a local checkout using `python -m pip install ./clients/python`.
|
|
25
24
|
Building needs setuptools and wheel; the installed client uses only the standard
|
|
@@ -97,6 +96,7 @@ Type hints describe the server contract and do not perform response validation.
|
|
|
97
96
|
| `event_rule_search` **beta** | `calculateEventRuleSearch` | bounded versioned AND/OR/NOT rules, location, and interval | validation/cost analysis plus sampled matches and windows |
|
|
98
97
|
| `convention_compare` **beta** | `calculateConventionCompare` | two profiles with one birth, or two trusted signed responses | field-level differences without ranking or interpretation |
|
|
99
98
|
| `chart_robustness` **beta** | `calculateChartRobustness` | unknown or approximate birth time plus 2–3 convention profiles | sampled stability classifications without rectification, ranking, or prediction |
|
|
99
|
+
| `civil_time_audit` **beta** | `calculateCivilTimeAudit` | pinned place, local date/time, one explicit profile | both repeated-time chart candidates and exact 22-fact differences, or no shifted gap time |
|
|
100
100
|
| `synastry_svg` **beta** | `calculateSynastrySvg` | two births; optional zodiac/houses/theme/aspects/`include_png` | `result["svg"]`, optional `result["png"]` |
|
|
101
101
|
| `transit_svg` **beta** | `calculateTransitSvg` | birth and transit date; optional display controls/`include_png` | `result["svg"]`, optional `result["png"]` |
|
|
102
102
|
| `natal_report` **beta** | `calculateNatalReport` | birth; optional zodiac/houses/theme/SVG/download | `result["html"]`, source-linked `result["facts"]`, optional `result["download"]` |
|
|
@@ -62,11 +62,13 @@ ROUTES += [
|
|
|
62
62
|
|
|
63
63
|
RULE_INPUT = {"rule_version": 1, "start_utc": "2026-01-01T00:00:00Z", "end_utc": "2026-01-02T00:00:00Z", "location": {"lat": 0, "lon": 0}, "sample_minutes": 60, "rule": {"all": [{"fact": "planet_sign", "body": "moon", "value": "Taurus"}]}}
|
|
64
64
|
CONVENTION_INPUT = {"birth": BIRTH, "profiles": [{"zodiac": "tropical", "house_system": "equal"}, {"zodiac": "sidereal", "ayanamsa": "lahiri", "house_system": "whole_sign"}]}
|
|
65
|
+
CIVIL_TIME_AUDIT_INPUT = {"place_id": "geonames:5128581:2026-10-02", "date": "2024-11-03", "time": "01:30", "profile": {"zodiac": "tropical", "house_system": "equal"}}
|
|
65
66
|
CHART_ROBUSTNESS_INPUT = {"birth_time": {"status": "approximate", "date": "2000-01-01", "time": "12:00", "timezone": "UTC", "uncertainty_minutes": 30}, "lat": 0, "lon": 0, "profiles": [{"zodiac": "tropical", "house_system": "equal"}, {"zodiac": "sidereal", "ayanamsa": "lahiri", "house_system": "whole_sign"}]}
|
|
66
67
|
ROUTES += [
|
|
67
68
|
("event_rule_search", "event-rule-search", RULE_INPUT, {"type": "event_rule_search", "status": "beta", "rule_analysis": {}, "matching_samples": [], "sampled_candidate_windows": [], "metadata": {}}),
|
|
68
69
|
("convention_compare", "convention-compare", CONVENTION_INPUT, {"type": "convention_compare", "status": "beta", "profiles": [{}, {}], "differences": {}, "metadata": {}}),
|
|
69
70
|
("chart_robustness", "chart-robustness", CHART_ROBUSTNESS_INPUT, {"type": "chart_robustness", "status": "beta", "profiles": [{}, {}], "facts": [{} for _ in range(22)], "summary": {}, "evidence": {}, "metadata": {}}),
|
|
71
|
+
("civil_time_audit", "civil-time-audit", CIVIL_TIME_AUDIT_INPUT, {"type": "civil_time_audit", "status": "beta", "resolution": {}, "profile": {}, "calculation_ready": False, "requires_selection": True, "candidates": [], "comparison": {}, "metadata": {}}),
|
|
70
72
|
]
|
|
71
73
|
|
|
72
74
|
@contextmanager
|
|
@@ -149,11 +151,13 @@ def local_client(url, **options):
|
|
|
149
151
|
|
|
150
152
|
RULE_INPUT = {"rule_version": 1, "start_utc": "2026-01-01T00:00:00Z", "end_utc": "2026-01-02T00:00:00Z", "location": {"lat": 0, "lon": 0}, "sample_minutes": 60, "rule": {"all": [{"fact": "planet_sign", "body": "moon", "value": "Taurus"}]}}
|
|
151
153
|
CONVENTION_INPUT = {"birth": BIRTH, "profiles": [{"zodiac": "tropical", "house_system": "equal"}, {"zodiac": "sidereal", "ayanamsa": "lahiri", "house_system": "whole_sign"}]}
|
|
154
|
+
CIVIL_TIME_AUDIT_INPUT = {"place_id": "geonames:5128581:2026-10-02", "date": "2024-11-03", "time": "01:30", "profile": {"zodiac": "tropical", "house_system": "equal"}}
|
|
152
155
|
CHART_ROBUSTNESS_INPUT = {"birth_time": {"status": "approximate", "date": "2000-01-01", "time": "12:00", "timezone": "UTC", "uncertainty_minutes": 30}, "lat": 0, "lon": 0, "profiles": [{"zodiac": "tropical", "house_system": "equal"}, {"zodiac": "sidereal", "ayanamsa": "lahiri", "house_system": "whole_sign"}]}
|
|
153
156
|
ROUTES += [
|
|
154
157
|
("event_rule_search", "event-rule-search", RULE_INPUT, {"type": "event_rule_search", "status": "beta", "rule_analysis": {}, "matching_samples": [], "sampled_candidate_windows": [], "metadata": {}}),
|
|
155
158
|
("convention_compare", "convention-compare", CONVENTION_INPUT, {"type": "convention_compare", "status": "beta", "profiles": [{}, {}], "differences": {}, "metadata": {}}),
|
|
156
159
|
("chart_robustness", "chart-robustness", CHART_ROBUSTNESS_INPUT, {"type": "chart_robustness", "status": "beta", "profiles": [{}, {}], "facts": [{} for _ in range(22)], "summary": {}, "evidence": {}, "metadata": {}}),
|
|
160
|
+
("civil_time_audit", "civil-time-audit", CIVIL_TIME_AUDIT_INPUT, {"type": "civil_time_audit", "status": "beta", "resolution": {}, "profile": {}, "calculation_ready": False, "requires_selection": True, "candidates": [], "comparison": {}, "metadata": {}}),
|
|
157
161
|
]
|
|
158
162
|
|
|
159
163
|
@contextmanager
|
|
@@ -409,6 +413,8 @@ class ClientTests(unittest.TestCase):
|
|
|
409
413
|
client.chart_robustness({**CHART_ROBUSTNESS_INPUT, "birth_time": {**CHART_ROBUSTNESS_INPUT["birth_time"], "time": "noon"}})
|
|
410
414
|
with self.assertRaises(ValidationError):
|
|
411
415
|
client.chart_robustness({**CHART_ROBUSTNESS_INPUT, "profiles": [CHART_ROBUSTNESS_INPUT["profiles"][0]] * 2})
|
|
416
|
+
with self.assertRaises(ValidationError):
|
|
417
|
+
client.civil_time_audit({**CIVIL_TIME_AUDIT_INPUT, "place_id": "geonames:5128581:2020-01-01"})
|
|
412
418
|
|
|
413
419
|
|
|
414
420
|
def test_request_body_limit(self):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/src/astroapi_io_client.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/src/astroapi_io_client.egg-info/requires.txt
RENAMED
|
File without changes
|
{astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/src/astroapi_io_client.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{astroapi_io_client-0.2.2 → astroapi_io_client-0.2.3}/tests/test_onboarding_context_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|