-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
130 lines (119 loc) · 4.06 KB
/
Copy pathpyproject.toml
File metadata and controls
130 lines (119 loc) · 4.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
[project]
name = "robosystems-client"
version = "2.2.5"
description = "Python client library for the RoboSystems financial intelligence platform"
readme = "README.md"
requires-python = ">=3.11"
authors = [
{name = "RFS LLC"},
]
license = {text = "MIT"}
keywords = ["client", "robosystems", "financial", "graph", "api", "sdk", "knowledge-graph"]
classifiers = [
"Development Status :: 4 - Beta",
"Framework :: AsyncIO",
"Framework :: Pydantic",
"Framework :: Pydantic :: 2",
"Intended Audience :: Developers",
"Intended Audience :: Financial and Insurance Industry",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Office/Business :: Financial",
"Topic :: Office/Business :: Financial :: Accounting",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Database :: Front-Ends",
"Typing :: Typed",
]
dependencies = [
"httpx>=0.28.1",
"pydantic>=2.11.7",
"typing-extensions>=4.0.0",
"attrs>=23.0.0",
]
[project.optional-dependencies]
dev = [
"openapi-python-client>=0.29.0",
"basedpyright>=1.21.0",
"pytest-asyncio>=0.26.0",
"pytest>=8.3.5",
"ruff>=0.12",
"pytest-httpx>=0.30.0",
"build>=1.0.0",
"twine>=5.0.0",
]
[project.urls]
Homepage = "https://robosystems.ai"
Documentation = "https://robosystems.ai/docs/technical"
"API Reference" = "https://robosystems.ai/docs/api"
Repository = "https://github.com/RoboFinSystems/robosystems-python-client"
"Bug Tracker" = "https://github.com/RoboFinSystems/robosystems-python-client/issues"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["robosystems_client"]
# Keep internal dev tooling out of the sdist uploaded to PyPI. Hatchling
# defaults to "everything not in .gitignore", which would drag along
# `.claude/`, `.vscode/`, `.githooks/`, and other repo-local config. The
# wheel target above is unaffected — it only includes the package dir.
[tool.hatch.build.targets.sdist]
include = [
"/robosystems_client",
"/tests",
"/README.md",
"/LICENSE",
"/pyproject.toml",
"/pytest.ini",
"/ruff.toml",
]
[tool.basedpyright]
include = ["robosystems_client/clients"]
exclude = ["tests"]
extraPaths = ["."]
pythonVersion = "3.13"
venvPath = "."
venv = ".venv"
typeCheckingMode = "standard"
reportAttributeAccessIssue = "none"
reportArgumentType = "none"
reportGeneralTypeIssues = "none"
reportOptionalMemberAccess = "none"
reportReturnType = "none"
reportInvalidTypeForm = "none"
reportMissingImports = "none"
[dependency-groups]
dev = [
"ariadne-codegen>=0.14",
"graphql-core>=3.2.11",
]
# GraphQL codegen: reads the checked-in schema + .graphql operation files and
# emits typed Pydantic models under robosystems_client/graphql/generated/.
# Run via `just generate-graphql`; regen must be clean in CI.
[tool.ariadne-codegen]
schema_path = "robosystems_client/graphql/schema.graphql"
queries_path = "robosystems_client/graphql/operations"
target_package_name = "generated"
target_package_path = "robosystems_client/graphql"
async_client = false
include_all_inputs = false
include_all_enums = false
include_comments = "none"
# Emit query strings as importable constants (generated/operations.py) so
# facades can keep using the existing graph-scoped GraphQLClient transport
# (per-call graph_id URL, rfs-key/JWT header routing, strip_none_vars)
# and consume only the typed models + query text from codegen.
plugins = ["ariadne_codegen.contrib.extract_operations.ExtractOperationsPlugin"]
# Backend serializes Date/DateTime scalars as ISO strings; map to str for
# exact parity with the previous dict values. JSON stays Any.
[tool.ariadne-codegen.scalars.Date]
type = "str"
[tool.ariadne-codegen.scalars.DateTime]
type = "str"
[tool.ariadne-codegen.scalars.JSON]
type = "typing.Any"