patito 0.8.2__tar.gz → 0.8.4__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.
Files changed (78) hide show
  1. patito-0.8.4/.github/workflows/ci.yml +10 -0
  2. patito-0.8.4/.github/workflows/coverage.yml +16 -0
  3. patito-0.8.4/.github/workflows/pre-commit.yml +14 -0
  4. patito-0.8.4/.github/workflows/release.yml +22 -0
  5. patito-0.8.4/.gitignore +137 -0
  6. patito-0.8.4/.pre-commit-config.yaml +16 -0
  7. patito-0.8.4/.readthedocs.yaml +21 -0
  8. patito-0.8.4/.tool-versions +2 -0
  9. {patito-0.8.2 → patito-0.8.4}/PKG-INFO +14 -28
  10. patito-0.8.4/docs/_static/css/custom.css +134 -0
  11. patito-0.8.4/docs/api/index.rst +10 -0
  12. patito-0.8.4/docs/api/patito/DataFrame/cast.rst +6 -0
  13. patito-0.8.4/docs/api/patito/DataFrame/derive.rst +6 -0
  14. patito-0.8.4/docs/api/patito/DataFrame/drop.rst +6 -0
  15. patito-0.8.4/docs/api/patito/DataFrame/fill_null.rst +6 -0
  16. patito-0.8.4/docs/api/patito/DataFrame/get.rst +8 -0
  17. patito-0.8.4/docs/api/patito/DataFrame/index.rst +20 -0
  18. patito-0.8.4/docs/api/patito/DataFrame/iter_models.rst +8 -0
  19. patito-0.8.4/docs/api/patito/DataFrame/read_csv.rst +6 -0
  20. patito-0.8.4/docs/api/patito/DataFrame/set_model.rst +8 -0
  21. patito-0.8.4/docs/api/patito/DataFrame/validate.rst +8 -0
  22. patito-0.8.4/docs/api/patito/Field/index.rst +6 -0
  23. patito-0.8.4/docs/api/patito/Model/DataFrame.rst +6 -0
  24. patito-0.8.4/docs/api/patito/Model/LazyFrame.rst +6 -0
  25. patito-0.8.4/docs/api/patito/Model/columns.rst +6 -0
  26. patito-0.8.4/docs/api/patito/Model/defaults.rst +6 -0
  27. patito-0.8.4/docs/api/patito/Model/drop.rst +6 -0
  28. patito-0.8.4/docs/api/patito/Model/dtypes.rst +6 -0
  29. patito-0.8.4/docs/api/patito/Model/example.rst +6 -0
  30. patito-0.8.4/docs/api/patito/Model/example_value.rst +6 -0
  31. patito-0.8.4/docs/api/patito/Model/examples.rst +8 -0
  32. patito-0.8.4/docs/api/patito/Model/from_row.rst +6 -0
  33. patito-0.8.4/docs/api/patito/Model/index.rst +36 -0
  34. patito-0.8.4/docs/api/patito/Model/iter_models.rst +8 -0
  35. patito-0.8.4/docs/api/patito/Model/join.rst +8 -0
  36. patito-0.8.4/docs/api/patito/Model/non_nullable_columns.rst +6 -0
  37. patito-0.8.4/docs/api/patito/Model/nullable_columns.rst +6 -0
  38. patito-0.8.4/docs/api/patito/Model/pandas_examples.rst +6 -0
  39. patito-0.8.4/docs/api/patito/Model/prefix.rst +8 -0
  40. patito-0.8.4/docs/api/patito/Model/rename.rst +6 -0
  41. patito-0.8.4/docs/api/patito/Model/select.rst +8 -0
  42. patito-0.8.4/docs/api/patito/Model/suffix.rst +6 -0
  43. patito-0.8.4/docs/api/patito/Model/unique_columns.rst +6 -0
  44. patito-0.8.4/docs/api/patito/Model/valid_dtypes.rst +6 -0
  45. patito-0.8.4/docs/api/patito/Model/validate.rst +8 -0
  46. patito-0.8.4/docs/api/patito/Model/with_fields.rst +6 -0
  47. patito-0.8.4/docs/conf.py +36 -0
  48. patito-0.8.4/docs/fix_header_underline.py +18 -0
  49. patito-0.8.4/docs/index.rst +46 -0
  50. patito-0.8.4/docs/license.rst +4 -0
  51. patito-0.8.4/docs/tutorial/dataframe-validation.rst +206 -0
  52. patito-0.8.4/docs/tutorial/index.rst +7 -0
  53. patito-0.8.4/noxfile.py +71 -0
  54. patito-0.8.4/pyproject.toml +145 -0
  55. {patito-0.8.2 → patito-0.8.4}/src/patito/_pydantic/repr.py +1 -1
  56. {patito-0.8.2 → patito-0.8.4}/src/patito/exceptions.py +2 -2
  57. {patito-0.8.2 → patito-0.8.4}/src/patito/polars.py +2 -2
  58. {patito-0.8.2 → patito-0.8.4}/src/patito/validators.py +5 -4
  59. patito-0.8.4/tests/__init__.py +0 -0
  60. patito-0.8.4/tests/examples.py +72 -0
  61. patito-0.8.4/tests/test_dtypes.py +221 -0
  62. patito-0.8.4/tests/test_dummy_data.py +187 -0
  63. patito-0.8.4/tests/test_model.py +622 -0
  64. patito-0.8.4/tests/test_polars.py +641 -0
  65. patito-0.8.4/tests/test_validators.py +1213 -0
  66. patito-0.8.4/uv.lock +3034 -0
  67. patito-0.8.2/pyproject.toml +0 -139
  68. {patito-0.8.2 → patito-0.8.4}/LICENSE +0 -0
  69. {patito-0.8.2 → patito-0.8.4}/README.md +0 -0
  70. {patito-0.8.2 → patito-0.8.4}/src/patito/__init__.py +0 -0
  71. {patito-0.8.2 → patito-0.8.4}/src/patito/_docs.py +0 -0
  72. {patito-0.8.2 → patito-0.8.4}/src/patito/_pydantic/__init__.py +0 -0
  73. {patito-0.8.2 → patito-0.8.4}/src/patito/_pydantic/column_info.py +0 -0
  74. {patito-0.8.2 → patito-0.8.4}/src/patito/_pydantic/dtypes/__init__.py +0 -0
  75. {patito-0.8.2 → patito-0.8.4}/src/patito/_pydantic/dtypes/dtypes.py +0 -0
  76. {patito-0.8.2 → patito-0.8.4}/src/patito/_pydantic/dtypes/utils.py +0 -0
  77. {patito-0.8.2 → patito-0.8.4}/src/patito/_pydantic/schema.py +0 -0
  78. {patito-0.8.2 → patito-0.8.4}/src/patito/pydantic.py +0 -0
@@ -0,0 +1,10 @@
1
+ name: CI
2
+ on: push
3
+ jobs:
4
+ tests:
5
+ runs-on: ubuntu-latest
6
+ steps:
7
+ - uses: actions/checkout@v2
8
+ - name: Install uv
9
+ uses: astral-sh/setup-uv@v5
10
+ - run: uv run nox
@@ -0,0 +1,16 @@
1
+ name: Coverage
2
+ on:
3
+ pull_request:
4
+ push:
5
+ branches: [main]
6
+
7
+ jobs:
8
+ coverage:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: actions/checkout@v2
12
+ - name: Install uv
13
+ uses: astral-sh/setup-uv@v5
14
+ - run: uv run nox --sessions test-3.9
15
+ env:
16
+ CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}}
@@ -0,0 +1,14 @@
1
+ name: pre-commit
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches: [main]
7
+
8
+ jobs:
9
+ pre-commit:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v3
13
+ - uses: actions/setup-python@v5
14
+ - uses: pre-commit/action@v3.0.1
@@ -0,0 +1,22 @@
1
+ name: Release
2
+ on:
3
+ release:
4
+ types: [published]
5
+ jobs:
6
+ release:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - uses: actions/checkout@v2
10
+ - uses: actions/setup-python@v5
11
+ with:
12
+ python-version: |
13
+ 3.9
14
+ 3.10
15
+ 3.11
16
+ 3.12
17
+ architecture: x64
18
+ - name: Install uv
19
+ uses: astral-sh/setup-uv@v5
20
+ - run: uv run nox
21
+ - run: uv build
22
+ - run: uv publish --username=__token__ --password=${{ secrets.PYPI_TOKEN }}
@@ -0,0 +1,137 @@
1
+ # --- Custom ---
2
+ .venv
3
+ .nox
4
+
5
+ # --- Auto-generated ---
6
+ # Byte-compiled / optimized / DLL files
7
+ __pycache__/
8
+ *.py[cod]
9
+ *$py.class
10
+
11
+ # C extensions
12
+ *.so
13
+
14
+ # Distribution / packaging
15
+ .Python
16
+ build/
17
+ develop-eggs/
18
+ dist/
19
+ downloads/
20
+ eggs/
21
+ .eggs/
22
+ lib/
23
+ lib64/
24
+ parts/
25
+ sdist/
26
+ var/
27
+ wheels/
28
+ pip-wheel-metadata/
29
+ share/python-wheels/
30
+ *.egg-info/
31
+ .installed.cfg
32
+ *.egg
33
+ MANIFEST
34
+
35
+ # PyInstaller
36
+ # Usually these files are written by a python script from a template
37
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
38
+ *.manifest
39
+ *.spec
40
+
41
+ # Installer logs
42
+ pip-log.txt
43
+ pip-delete-this-directory.txt
44
+
45
+ # Unit test / coverage reports
46
+ htmlcov/
47
+ .tox/
48
+ .nox/
49
+ .coverage
50
+ .coverage.*
51
+ .cache
52
+ nosetests.xml
53
+ coverage.xml
54
+ *.cover
55
+ *.py,cover
56
+ .hypothesis/
57
+ .pytest_cache/
58
+
59
+ # Translations
60
+ *.mo
61
+ *.pot
62
+
63
+ # Django stuff:
64
+ *.log
65
+ local_settings.py
66
+ db.sqlite3
67
+ db.sqlite3-journal
68
+
69
+ # Flask stuff:
70
+ instance/
71
+ .webassets-cache
72
+
73
+ # Scrapy stuff:
74
+ .scrapy
75
+
76
+ # Sphinx documentation
77
+ docs/_build/
78
+
79
+ # PyBuilder
80
+ target/
81
+
82
+ # Jupyter Notebook
83
+ .ipynb_checkpoints
84
+
85
+ # IPython
86
+ profile_default/
87
+ ipython_config.py
88
+
89
+ # pyenv
90
+ .python-version
91
+
92
+ # pipenv
93
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
94
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
95
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
96
+ # install all needed dependencies.
97
+ #Pipfile.lock
98
+
99
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
100
+ __pypackages__/
101
+
102
+ # Celery stuff
103
+ celerybeat-schedule
104
+ celerybeat.pid
105
+
106
+ # SageMath parsed files
107
+ *.sage.py
108
+
109
+ # Environments
110
+ .env
111
+ .venv
112
+ env/
113
+ venv/
114
+ ENV/
115
+ env.bak/
116
+ venv.bak/
117
+
118
+ # Spyder project settings
119
+ .spyderproject
120
+ .spyproject
121
+
122
+ # Rope project settings
123
+ .ropeproject
124
+
125
+ # mkdocs documentation
126
+ /site
127
+
128
+ # mypy
129
+ .mypy_cache/
130
+ .dmypy.json
131
+ dmypy.json
132
+
133
+ # Pyre type checker
134
+ .pyre/
135
+
136
+ .vscode/
137
+ .DS_Store
@@ -0,0 +1,16 @@
1
+ repos:
2
+ - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: v4.5.0
4
+ hooks:
5
+ - id: check-yaml
6
+ - id: end-of-file-fixer
7
+ - id: trailing-whitespace
8
+ - repo: https://github.com/astral-sh/ruff-pre-commit
9
+ # Ruff version.
10
+ rev: v0.7.0
11
+ hooks:
12
+ # Run the linter.
13
+ - id: ruff
14
+ args: [ --fix ]
15
+ # Run the formatter.
16
+ - id: ruff-format
@@ -0,0 +1,21 @@
1
+ version: 2
2
+
3
+ python:
4
+ install:
5
+ - method: pip
6
+ path: .
7
+ extra_requirements:
8
+ - pandas
9
+ - docs
10
+
11
+ build:
12
+ os: ubuntu-22.04
13
+ tools:
14
+ python: "3.10"
15
+
16
+ sphinx:
17
+ configuration: docs/conf.py
18
+ # TODO: Set to true once patito.Field autodoc works with unicode type annotation
19
+ fail_on_warning: false
20
+
21
+ formats: all
@@ -0,0 +1,2 @@
1
+ python 3.12.2
2
+ poetry 1.8.3
@@ -1,35 +1,22 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: patito
3
- Version: 0.8.2
3
+ Version: 0.8.4
4
4
  Summary: A dataframe modelling library built on top of polars and pydantic.
5
- Home-page: https://github.com/JakobGM/patito
6
- License: MIT
7
- Keywords: validation,dataframe
8
- Author: Jakob Gerhard Martinussen
9
- Author-email: jakobgm@gmail.com
5
+ Project-URL: Homepage, https://github.com/JakobGM/patito
6
+ Project-URL: Repository, https://github.com/JakobGM/patito
7
+ Project-URL: Documentation, https://patito.readthedocs.io
8
+ Author-email: Jakob Gerhard Martinussen <jakobgm@gmail.com>, Thomas Aarholt <thomasaarholt@gmail.com>
9
+ License-Expression: MIT
10
+ License-File: LICENSE
11
+ Keywords: dataframe,validation
10
12
  Requires-Python: >=3.9
11
- Classifier: License :: OSI Approved :: MIT License
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.9
14
- Classifier: Programming Language :: Python :: 3.10
15
- Classifier: Programming Language :: Python :: 3.11
16
- Classifier: Programming Language :: Python :: 3.12
13
+ Requires-Dist: polars>=1.10.0
14
+ Requires-Dist: pydantic>=2.7.0
15
+ Requires-Dist: typing-extensions
17
16
  Provides-Extra: caching
18
- Provides-Extra: docs
17
+ Requires-Dist: pyarrow>=5.0.0; extra == 'caching'
19
18
  Provides-Extra: pandas
20
- Requires-Dist: Sphinx (<7) ; extra == "docs"
21
- Requires-Dist: pandas ; extra == "pandas"
22
- Requires-Dist: polars (>=1.10.0)
23
- Requires-Dist: pyarrow (>=5.0.0) ; extra == "caching"
24
- Requires-Dist: pydantic (>=2.7.0)
25
- Requires-Dist: sphinx-autobuild ; extra == "docs"
26
- Requires-Dist: sphinx-autodoc-typehints ; extra == "docs"
27
- Requires-Dist: sphinx-rtd-theme ; extra == "docs"
28
- Requires-Dist: sphinx-toolbox ; extra == "docs"
29
- Requires-Dist: sphinxcontrib-mermaid ; extra == "docs"
30
- Requires-Dist: typing-extensions
31
- Project-URL: Documentation, https://patito.readthedocs.io
32
- Project-URL: Repository, https://github.com/JakobGM/patito
19
+ Requires-Dist: pandas; extra == 'pandas'
33
20
  Description-Content-Type: text/markdown
34
21
 
35
22
  # <center><img height="30px" src="https://em-content.zobj.net/thumbs/120/samsung/78/duck_1f986.png"> Patito<center>
@@ -307,4 +294,3 @@ milk = products.get(pl.col("product_id") == 1)
307
294
  print(milk.url)
308
295
  # https://example.com/no/products/1-skimmed-milk
309
296
  ```
310
-
@@ -0,0 +1,134 @@
1
+ :root {
2
+ --egg-yolk: #FFAA1E;
3
+ --cream: #FFF5E6;
4
+ --grapefruit: #FA3C0F;
5
+ --aubergine: #280F3C;
6
+ --lavender: #A573D2;
7
+ }
8
+
9
+ /* Unvisited links are Grapefruit colored */
10
+ a {
11
+ color: var(--grapefruit);
12
+ }
13
+
14
+ /* Visited links are Grapefruit colored */
15
+ a:visited {
16
+ color: var(--grapefruit);
17
+ }
18
+
19
+ /* Links become Aubergine colored on hover */
20
+ a:hover {
21
+ color: var(--aubergine);
22
+ text-decoration: underline;
23
+ }
24
+
25
+
26
+ /* Left sidebar in Cream color */
27
+ .wy-nav-side {
28
+ background-color: var(--cream);
29
+ }
30
+
31
+ /* All links in TOC tree as aubergine */
32
+ .wy-menu-vertical li a {
33
+ color: var(--aubergine);
34
+ }
35
+ .wy-menu-vertical li.current a {
36
+ color: var(--aubergine);
37
+ }
38
+
39
+ /* The current navigation tree is highlighted in Grapefruit */
40
+ .wy-menu-vertical li.current > a {
41
+ color: var(--grapefruit);
42
+ }
43
+
44
+ /* The top part of the navbar is highlighted in Egg Yolk */
45
+ .wy-side-nav-search {
46
+ background-color: var(--egg-yolk);
47
+ }
48
+
49
+ /* Also on mobile */
50
+ .wy-nav-top {
51
+ background: var(--egg-yolk);
52
+ }
53
+ .wy-nav-top a {
54
+ color: white;
55
+ }
56
+ .wy-nav-top a:visited {
57
+ color: white;
58
+ }
59
+ .wy-nav-top a:before {
60
+ content: "🦆";
61
+ }
62
+
63
+ /* Make link colors on top and bottom Egg Yolk to blend better in. */
64
+ .wy-breadcrumbs a {
65
+ color: var(--egg-yolk);
66
+ }
67
+ .wy-breadcrumbs a:visited {
68
+ color: var(--egg-yolk);
69
+ }
70
+ footer a {
71
+ color: var(--egg-yolk);
72
+ }
73
+ footer a:visited {
74
+ color: var(--egg-yolk);
75
+ }
76
+
77
+ /* Make the entire sidebar cream, also the part we have expanded */
78
+ .wy-menu-vertical li a {
79
+ background-color: var(--cream) !important;
80
+ /* Remove all borders around list elements in the navbar */
81
+ border-right: none !important;
82
+ border-bottom: none !important;
83
+ border-top: none !important;
84
+ }
85
+
86
+ /* Highlight list elements in sidebar on hover */
87
+ .wy-menu-vertical li a:hover {
88
+ background-color: white !important;
89
+ }
90
+
91
+ /* Make the logo color aubergine */
92
+ .wy-side-nav-search .icon a {
93
+ color: var(--grapefruit) !important;
94
+ }
95
+ .icon a:visited {
96
+ color: var(--grapefruit) !important;
97
+ }
98
+
99
+ /* Make the search field in the sidebar Cream colored */
100
+ .wy-side-nav-search input[type="text"] {
101
+ background-color: var(--cream);
102
+ border-color: var(--cream);
103
+ }
104
+
105
+ /* Make class/function signatures consistently colored */
106
+ .sig {
107
+ background: var(--cream) !important;
108
+ color: var(--aubergine) !important;
109
+ border-top: 3px solid var(--egg-yolk) !important;
110
+ }
111
+
112
+ /* Make all main headers Egg Yolk colored. */
113
+ h1 {
114
+ color: var(--egg-yolk);
115
+ }
116
+
117
+ /* Make code example background color Cream. */
118
+ .highlight {
119
+ background-color: var(--cream);
120
+ }
121
+
122
+ /* Make the icon color text white */
123
+ .wy-side-nav-search a {
124
+ color: white !important;
125
+ }
126
+ .wy-side-nav-search a:visited {
127
+ color: white !important;
128
+ }
129
+
130
+ /* Decrease the vertical padding between menu items in the navbar */
131
+ .wy-menu-vertical li.toctree-l3 a {
132
+ padding-top: 0.2vh !important;
133
+ padding-bottom: 0.2vh !important;
134
+ }
@@ -0,0 +1,10 @@
1
+ API Reference
2
+ =============
3
+
4
+ .. toctree::
5
+ :caption: General Functionality
6
+ :maxdepth: 1
7
+
8
+ patito/DataFrame/index
9
+ patito/Model/index
10
+ patito/Field/index
@@ -0,0 +1,6 @@
1
+ patito.DataFrame.cast
2
+ =====================
3
+
4
+ .. currentmodule:: patito
5
+
6
+ .. automethod:: DataFrame.cast
@@ -0,0 +1,6 @@
1
+ patito.DataFrame.derive
2
+ =======================
3
+
4
+ .. currentmodule:: patito
5
+
6
+ .. automethod:: DataFrame.derive
@@ -0,0 +1,6 @@
1
+ patito.DataFrame.drop
2
+ =====================
3
+
4
+ .. currentmodule:: patito
5
+
6
+ .. automethod:: DataFrame.drop
@@ -0,0 +1,6 @@
1
+ patito.DataFrame.fill_null
2
+ ==========================
3
+
4
+ .. currentmodule:: patito
5
+
6
+ .. automethod:: DataFrame.fill_null
@@ -0,0 +1,8 @@
1
+ .. _DataFrame.get:
2
+
3
+ patito.DataFrame.get
4
+ ====================
5
+
6
+ .. currentmodule:: patito
7
+
8
+ .. automethod:: DataFrame.get
@@ -0,0 +1,20 @@
1
+ patito.DataFrame
2
+ ================
3
+
4
+ .. currentmodule:: patito
5
+
6
+ .. autoclass:: DataFrame
7
+
8
+ .. toctree::
9
+ :caption: Methods
10
+ :maxdepth: 1
11
+
12
+ cast <cast>
13
+ derive <derive>
14
+ drop <drop>
15
+ fill_null <fill_null>
16
+ get <get>
17
+ iter_models <iter_models>
18
+ read_csv <read_csv>
19
+ set_model <set_model>
20
+ validate <validate>
@@ -0,0 +1,8 @@
1
+ .. _DataFrame.iter_models:
2
+
3
+ patito.DataFrame.iter_models
4
+ ============================
5
+
6
+ .. currentmodule:: patito
7
+
8
+ .. automethod:: DataFrame.iter_models
@@ -0,0 +1,6 @@
1
+ patito.DataFrame.read_csv
2
+ =========================
3
+
4
+ .. currentmodule:: patito
5
+
6
+ .. automethod:: DataFrame.read_csv
@@ -0,0 +1,8 @@
1
+ .. _DataFrame.set_model:
2
+
3
+ patito.DataFrame.set_model
4
+ ==========================
5
+
6
+ .. currentmodule:: patito
7
+
8
+ .. automethod:: DataFrame.set_model
@@ -0,0 +1,8 @@
1
+ .. _DataFrame.validate:
2
+
3
+ patito.DataFrame.validate
4
+ =========================
5
+
6
+ .. currentmodule:: patito
7
+
8
+ .. automethod:: DataFrame.validate
@@ -0,0 +1,6 @@
1
+ .. _Field:
2
+
3
+ patito.Field
4
+ ============
5
+
6
+ .. autofunction:: patito.Field
@@ -0,0 +1,6 @@
1
+ patito.Model.DataFrame
2
+ ======================
3
+
4
+ .. currentmodule:: patito
5
+
6
+ .. automethod:: Model.DataFrame
@@ -0,0 +1,6 @@
1
+ patito.Model.LazyFrame
2
+ ======================
3
+
4
+ .. currentmodule:: patito
5
+
6
+ .. automethod:: Model.LazyFrame
@@ -0,0 +1,6 @@
1
+ patito.Model.columns
2
+ ====================
3
+
4
+ .. currentmodule:: patito._docs
5
+
6
+ .. autoproperty:: Model.columns
@@ -0,0 +1,6 @@
1
+ patito.Model.defaults
2
+ =====================
3
+
4
+ .. currentmodule:: patito._docs
5
+
6
+ .. autoproperty:: Model.defaults
@@ -0,0 +1,6 @@
1
+ patito.Model.drop
2
+ =================
3
+
4
+ .. currentmodule:: patito
5
+
6
+ .. automethod:: Model.drop
@@ -0,0 +1,6 @@
1
+ patito.Model.dtypes
2
+ ===================
3
+
4
+ .. currentmodule:: patito._docs
5
+
6
+ .. autoproperty:: Model.dtypes
@@ -0,0 +1,6 @@
1
+ patito.Model.example
2
+ ====================
3
+
4
+ .. currentmodule:: patito
5
+
6
+ .. automethod:: Model.example
@@ -0,0 +1,6 @@
1
+ patito.Model.example_value
2
+ ==========================
3
+
4
+ .. currentmodule:: patito
5
+
6
+ .. automethod:: Model.example_value
@@ -0,0 +1,8 @@
1
+ .. _Model.examples:
2
+
3
+ patito.Model.examples
4
+ =====================
5
+
6
+ .. currentmodule:: patito
7
+
8
+ .. automethod:: Model.examples
@@ -0,0 +1,6 @@
1
+ patito.Model.from_row
2
+ =====================
3
+
4
+ .. currentmodule:: patito
5
+
6
+ .. automethod:: Model.from_row
@@ -0,0 +1,36 @@
1
+ .. _Model:
2
+
3
+ patito.Model
4
+ ============
5
+
6
+ .. currentmodule:: patito
7
+
8
+ .. autoclass:: Model
9
+
10
+ .. toctree::
11
+ :caption: Class methods & properties
12
+ :maxdepth: 1
13
+
14
+ DataFrame <DataFrame>
15
+ LazyFrame <LazyFrame>
16
+ columns <columns>
17
+ defaults <defaults>
18
+ drop <drop>
19
+ dtypes <dtypes>
20
+ example <example>
21
+ example_value <example_value>
22
+ examples <examples>
23
+ from_row <from_row>
24
+ iter_models <iter_models>
25
+ join <join>
26
+ non_nullable_columns <non_nullable_columns>
27
+ nullable_columns <nullable_columns>
28
+ pandas_examples <pandas_examples>
29
+ prefix <prefix>
30
+ rename <rename>
31
+ select <select>
32
+ suffix <suffix>
33
+ unique_columns <unique_columns>
34
+ valid_dtypes <valid_dtypes>
35
+ validate <validate>
36
+ with_fields <with_fields>
@@ -0,0 +1,8 @@
1
+ .. _Model.iter_models:
2
+
3
+ patito.Model.iter_models
4
+ ========================
5
+
6
+ .. currentmodule:: patito
7
+
8
+ .. automethod:: Model.iter_models