Skip to content

Commit 22b9527

Browse files
authored
Develop core (#2)
1 parent 2c73fed commit 22b9527

72 files changed

Lines changed: 9033 additions & 409 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 222 additions & 207 deletions
Large diffs are not rendered by default.

LICENSE

Lines changed: 201 additions & 201 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,27 @@
1-
# python-t-cloud
1+
# python-t-cloud
2+
3+
Python SDK for T-Cloud.
4+
5+
> **Status:** Early development. Not ready for production use.
6+
7+
## Quick Start
8+
9+
```bash
10+
uv sync # install dependencies
11+
uv run pytest # run tests
12+
```
13+
14+
## Development
15+
16+
Requires [uv](https://docs.astral.sh/uv/) and Python 3.11+.
17+
18+
```bash
19+
uv sync --group dev # install with dev dependencies
20+
uv run ruff check src/ # lint
21+
uv run mypy src/ # type check
22+
uv run pytest -v # test core
23+
```
24+
25+
## License
26+
27+
Apache-2.0

conftest.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# conftest.py at project root — registers the 'acceptance' marker
2+
# and separates acceptance tests from unit tests.
3+
4+
import pytest
5+
6+
7+
def pytest_collection_modifyitems(config, items):
8+
"""Auto-mark tests under acceptance/ directory."""
9+
for item in items:
10+
if "acceptance" in str(item.fspath):
11+
item.add_marker(pytest.mark.acceptance)
12+
13+
14+
def pytest_configure(config):
15+
config.addinivalue_line(
16+
"markers",
17+
"acceptance: marks tests that hit real T Cloud Public API (deselect with '-m \"not acceptance\"')",
18+
)

docs/api/core.rst

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Core
2+
====
3+
4+
Authentication
5+
--------------
6+
7+
.. automodule:: sdk.core.auth
8+
:members:
9+
:show-inheritance:
10+
:exclude-members: model_config, model_fields, model_computed_fields
11+
12+
Exceptions
13+
----------
14+
15+
.. automodule:: sdk.core.exceptions
16+
:members:
17+
:undoc-members:
18+
:show-inheritance:
19+
20+
Logging
21+
-------
22+
23+
.. automodule:: sdk.core.log
24+
:members:
25+
:undoc-members:
26+
:show-inheritance:

docs/api/index.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
API Reference
2+
=============
3+
4+
.. toctree::
5+
:maxdepth: 2
6+
7+
core

docs/conf.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
"""Sphinx configuration for the SDK documentation."""
2+
3+
import os
4+
import sys
5+
6+
# Add src/ to path so autodoc can find the package
7+
sys.path.insert(0, os.path.abspath("../src"))
8+
9+
# -- Project information -----------------------------------------------------
10+
11+
project = "SDK"
12+
copyright = "2026, T Cloud Public"
13+
author = "T Cloud Public"
14+
release = "0.1.0"
15+
16+
# -- General configuration ---------------------------------------------------
17+
18+
extensions = [
19+
"sphinx.ext.autodoc",
20+
"sphinx.ext.napoleon", # Google-style docstrings
21+
"sphinx_autodoc_typehints", # type hints in docs
22+
"sphinx.ext.viewcode", # [source] links
23+
"sphinx.ext.intersphinx", # link to Python stdlib docs
24+
]
25+
26+
# Napoleon settings (Google-style)
27+
napoleon_google_docstring = True
28+
napoleon_numpy_docstring = False
29+
napoleon_include_init_with_doc = True
30+
napoleon_include_private_with_doc = False
31+
napoleon_use_param = True
32+
napoleon_use_rtype = True
33+
34+
# Autodoc settings
35+
autodoc_member_order = "bysource"
36+
autodoc_typehints = "description"
37+
autodoc_class_signature = "separated"
38+
autodoc_pydantic_model_show_field_summary = False
39+
40+
# Intersphinx — link to Python docs
41+
intersphinx_mapping = {
42+
"python": ("https://docs.python.org/3", None),
43+
"pydantic": ("https://docs.pydantic.dev/latest/", None),
44+
}
45+
46+
# -- Options for HTML output -------------------------------------------------
47+
48+
html_theme = "sphinx_rtd_theme"
49+
html_theme_options = {
50+
"navigation_depth": 3,
51+
}

docs/index.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
SDK Documentation
2+
=================
3+
4+
.. toctree::
5+
:maxdepth: 2
6+
:caption: Contents
7+
8+
quickstart
9+
api/index

0 commit comments

Comments
 (0)