django-cattrs-fields 0.0.1__tar.gz → 0.0.1.post1__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 (61) hide show
  1. django_cattrs_fields-0.0.1.post1/.github/workflows/release.yml +98 -0
  2. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/PKG-INFO +8 -1
  3. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/README.md +2 -0
  4. django_cattrs_fields-0.0.1.post1/django_cattrs_fields/__init__.py +1 -0
  5. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/converters/register_hooks.py +1 -0
  6. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/pyproject.toml +8 -1
  7. django_cattrs_fields-0.0.1.post1/tests/conf/__init__.py +0 -0
  8. django_cattrs_fields-0.0.1/.idea/.gitignore +0 -10
  9. django_cattrs_fields-0.0.1/.idea/django-cattrs-fields.iml +0 -17
  10. django_cattrs_fields-0.0.1/.idea/inspectionProfiles/Project_Default.xml +0 -6
  11. django_cattrs_fields-0.0.1/.idea/inspectionProfiles/profiles_settings.xml +0 -6
  12. django_cattrs_fields-0.0.1/.idea/misc.xml +0 -10
  13. django_cattrs_fields-0.0.1/.idea/modules.xml +0 -8
  14. django_cattrs_fields-0.0.1/.idea/vcs.xml +0 -6
  15. django_cattrs_fields-0.0.1/.idea/workspace.xml +0 -68
  16. django_cattrs_fields-0.0.1/django_cattrs_fields/__init__.py +0 -1
  17. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/.github/workflows/ci.yaml +0 -0
  18. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/.github/workflows/pre_commit.yaml +0 -0
  19. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/.gitignore +0 -0
  20. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/.pre-commit-config.yaml +0 -0
  21. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/LICENSE +0 -0
  22. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/converters/__init__.py +0 -0
  23. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/converters/bson.py +0 -0
  24. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/converters/cbor2.py +0 -0
  25. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/converters/json.py +0 -0
  26. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/converters/msgpack.py +0 -0
  27. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/converters/msgspec.py +0 -0
  28. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/converters/orjson.py +0 -0
  29. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/converters/pyyaml.py +0 -0
  30. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/converters/tomlkit.py +0 -0
  31. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/converters/ujson.py +0 -0
  32. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/fields/__init__.py +0 -0
  33. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/fields/files.py +0 -0
  34. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/hooks/__init__.py +0 -0
  35. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/hooks/bool_hooks.py +0 -0
  36. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/hooks/char_hooks.py +0 -0
  37. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/hooks/date_hooks.py +0 -0
  38. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/hooks/empty_hooks.py +0 -0
  39. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/hooks/file_hooks.py +0 -0
  40. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/hooks/number_hooks.py +0 -0
  41. /django_cattrs_fields-0.0.1/tests/__init__.py → /django_cattrs_fields-0.0.1.post1/django_cattrs_fields/py.typed +0 -0
  42. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/utils/decimal.py +0 -0
  43. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/utils/timezone.py +0 -0
  44. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/django_cattrs_fields/validators/__init__.py +0 -0
  45. {django_cattrs_fields-0.0.1/tests/books → django_cattrs_fields-0.0.1.post1/tests}/__init__.py +0 -0
  46. {django_cattrs_fields-0.0.1/tests/books/migrations → django_cattrs_fields-0.0.1.post1/tests/books}/__init__.py +0 -0
  47. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/tests/books/apps.py +0 -0
  48. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/tests/books/migrations/0001_initial.py +0 -0
  49. {django_cattrs_fields-0.0.1/tests/conf → django_cattrs_fields-0.0.1.post1/tests/books/migrations}/__init__.py +0 -0
  50. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/tests/books/models.py +0 -0
  51. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/tests/books/urls.py +0 -0
  52. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/tests/books/views.py +0 -0
  53. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/tests/conf/settings.py +0 -0
  54. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/tests/conf/urls.py +0 -0
  55. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/tests/test_boolean_fields.py +0 -0
  56. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/tests/test_character_fields.py +0 -0
  57. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/tests/test_date_fields.py +0 -0
  58. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/tests/test_empty.py +0 -0
  59. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/tests/test_file_fields.py +0 -0
  60. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/tests/test_file_upload.py +0 -0
  61. {django_cattrs_fields-0.0.1 → django_cattrs_fields-0.0.1.post1}/tests/test_numeric_fields.py +0 -0
@@ -0,0 +1,98 @@
1
+ name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - '*'
7
+ # There should be no dev tags created, but to be safe,
8
+ # let's not publish them.
9
+ - '!*.dev*'
10
+
11
+ env:
12
+ # Change these for your project's URLs
13
+ PYPI_URL: https://pypi.org/project/django-cattrs-fields
14
+
15
+ jobs:
16
+ build:
17
+ name: Build distribution 📦
18
+ runs-on: ubuntu-latest
19
+
20
+ steps:
21
+ - uses: actions/checkout@v6
22
+ - name: Set up Python
23
+ uses: actions/setup-python@v6
24
+ with:
25
+ python-version: "3.x"
26
+ - name: Install uv
27
+ uses: astral-sh/setup-uv@v7
28
+ - name: Build a binary wheel and a source tarball
29
+ run: uv build
30
+ - name: Store the distribution packages
31
+ uses: actions/upload-artifact@v6
32
+ with:
33
+ name: python-package-distributions
34
+ path: dist/
35
+
36
+ publish-to-pypi:
37
+ name: >-
38
+ Publish Python 🐍 distribution 📦 to PyPI
39
+ needs:
40
+ - build
41
+ runs-on: ubuntu-latest
42
+ environment:
43
+ name: pypi
44
+ url: ${{ env.PYPI_URL }}
45
+ permissions:
46
+ id-token: write # IMPORTANT: mandatory for trusted publishing
47
+ steps:
48
+ - name: Download all the dists
49
+ uses: actions/download-artifact@v7
50
+ with:
51
+ name: python-package-distributions
52
+ path: dist/
53
+ - name: Publish distribution 📦 to PyPI
54
+ uses: pypa/gh-action-pypi-publish@release/v1
55
+
56
+ github-release:
57
+ name: >-
58
+ Sign the Python 🐍 distribution 📦 with Sigstore
59
+ and upload them to GitHub Release
60
+ needs:
61
+ - publish-to-pypi
62
+ runs-on: ubuntu-latest
63
+
64
+ permissions:
65
+ contents: write # IMPORTANT: mandatory for making GitHub Releases
66
+ id-token: write # IMPORTANT: mandatory for sigstore
67
+
68
+ steps:
69
+ - name: Download all the dists
70
+ uses: actions/download-artifact@v7
71
+ with:
72
+ name: python-package-distributions
73
+ path: dist/
74
+ - name: Sign the dists with Sigstore
75
+ uses: sigstore/gh-action-sigstore-python@v3.0.0
76
+ with:
77
+ inputs: >-
78
+ ./dist/*.tar.gz
79
+ ./dist/*.whl
80
+ - name: Create GitHub Release
81
+ env:
82
+ GITHUB_TOKEN: ${{ github.token }}
83
+ run: >-
84
+ gh release create
85
+ '${{ github.ref_name }}'
86
+ --repo '${{ github.repository }}'
87
+ --notes ""
88
+ - name: Upload artifact signatures to GitHub Release
89
+ env:
90
+ GITHUB_TOKEN: ${{ github.token }}
91
+ # Upload to GitHub Release using the `gh` CLI.
92
+ # `dist/` contains the built packages, and the
93
+ # sigstore-produced signatures and certificates.
94
+ run: >-
95
+ gh release upload
96
+ '${{ github.ref_name }}' dist/**
97
+ --repo '${{ github.repository }}'
98
+
@@ -1,7 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-cattrs-fields
3
- Version: 0.0.1
3
+ Version: 0.0.1.post1
4
4
  Summary: django data type support for cattrs
5
+ Project-URL: Homepage, https://github.com/amirreza8002/django-cattrs-fields
6
+ Project-URL: Source, https://github.com/amirreza8002/django-cattrs-fields
7
+ Project-URL: Issues, https://github.com/django-commons/django-cattrs-fields/issues
8
+ Project-URL: Documentation, https://github.com/amirreza8002/django-cattrs-fields
5
9
  Author-email: amirreza <amir.rsf1380@gmail.com>
6
10
  License-Expression: BSD-3-Clause
7
11
  License-File: LICENSE
@@ -20,6 +24,7 @@ Classifier: Programming Language :: Python :: 3.13
20
24
  Classifier: Programming Language :: Python :: 3.14
21
25
  Classifier: Topic :: Internet :: WWW/HTTP
22
26
  Classifier: Topic :: Software Development :: Libraries
27
+ Classifier: Typing :: Typed
23
28
  Requires-Python: >=3.12
24
29
  Requires-Dist: cattrs>=25.3.0
25
30
  Requires-Dist: django>=6.0
@@ -43,6 +48,8 @@ Description-Content-Type: text/markdown
43
48
 
44
49
  # django-cattrs-fields
45
50
 
51
+ [![Published on Django Packages](https://img.shields.io/badge/Published%20on-Django%20Packages-0c3c26)](https://djangopackages.org/packages/p/django-cattrs-fields/)
52
+
46
53
  **Note**: this is a very experimental project, I'm mostly navigating and discovering how this could work,
47
54
  as much as any help and feedback is appreciated, please do not use in a production environment.
48
55
 
@@ -1,5 +1,7 @@
1
1
  # django-cattrs-fields
2
2
 
3
+ [![Published on Django Packages](https://img.shields.io/badge/Published%20on-Django%20Packages-0c3c26)](https://djangopackages.org/packages/p/django-cattrs-fields/)
4
+
3
5
  **Note**: this is a very experimental project, I'm mostly navigating and discovering how this could work,
4
6
  as much as any help and feedback is appreciated, please do not use in a production environment.
5
7
 
@@ -0,0 +1 @@
1
+ __version__ = "0.0.1.post1"
@@ -3,6 +3,7 @@ from typing import Union, get_args
3
3
  from attrs import has
4
4
  from cattrs._compat import is_annotated
5
5
  from cattrs.converters import Converter
6
+
6
7
  from django.conf import settings
7
8
 
8
9
  from django_cattrs_fields.fields import (
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "django-cattrs-fields"
7
- version = "0.0.1"
7
+ version = "0.0.1.post1"
8
8
  description = "django data type support for cattrs"
9
9
  readme = "README.md"
10
10
  license = "BSD-3-Clause"
@@ -29,6 +29,7 @@ classifiers = [
29
29
  "Programming Language :: Python :: 3.14",
30
30
  "Topic :: Software Development :: Libraries",
31
31
  "Topic :: Internet :: WWW/HTTP",
32
+ "Typing :: Typed",
32
33
  ]
33
34
 
34
35
  dependencies = [
@@ -89,6 +90,12 @@ test = [
89
90
  "ujson>=5.10.0",
90
91
  ]
91
92
 
93
+ [project.urls]
94
+ Homepage = "https://github.com/amirreza8002/django-cattrs-fields"
95
+ Source = "https://github.com/amirreza8002/django-cattrs-fields"
96
+ Issues = "https://github.com/django-commons/django-cattrs-fields/issues"
97
+ Documentation = "https://github.com/amirreza8002/django-cattrs-fields"
98
+
92
99
 
93
100
  [tool.django]
94
101
  settings = "conf.settings"
@@ -1,10 +0,0 @@
1
- # Default ignored files
2
- /shelf/
3
- /workspace.xml
4
- # Ignored default folder with query files
5
- /queries/
6
- # Datasource local storage ignored files
7
- /dataSources/
8
- /dataSources.local.xml
9
- # Editor-based HTTP Client requests
10
- /httpRequests/
@@ -1,17 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="PYTHON_MODULE" version="4">
3
- <component name="NewModuleRootManager">
4
- <content url="file://$MODULE_DIR$">
5
- <excludeFolder url="file://$MODULE_DIR$/.venv" />
6
- </content>
7
- <orderEntry type="jdk" jdkName="Python 3.14 virtualenv at ~/projects/django-cattrs-fields/.venv" jdkType="Python SDK" />
8
- <orderEntry type="sourceFolder" forTests="false" />
9
- </component>
10
- <component name="PyDocumentationSettings">
11
- <option name="format" value="PLAIN" />
12
- <option name="myDocStringFormat" value="Plain" />
13
- </component>
14
- <component name="TestRunnerService">
15
- <option name="PROJECT_TEST_RUNNER" value="py.test" />
16
- </component>
17
- </module>
@@ -1,6 +0,0 @@
1
- <component name="InspectionProjectProfileManager">
2
- <profile version="1.0">
3
- <option name="myName" value="Project Default" />
4
- <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
5
- </profile>
6
- </component>
@@ -1,6 +0,0 @@
1
- <component name="InspectionProjectProfileManager">
2
- <settings>
3
- <option name="USE_PROJECT_PROFILE" value="false" />
4
- <version value="1.0" />
5
- </settings>
6
- </component>
@@ -1,10 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="Black">
4
- <option name="sdkName" value="Python 3.14 virtualenv at ~/projects/django-cattrs-fields/.venv" />
5
- </component>
6
- <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.14 virtualenv at ~/projects/django-cattrs-fields/.venv" project-jdk-type="Python SDK" />
7
- <component name="TyConfiguration">
8
- <option name="enabled" value="true" />
9
- </component>
10
- </project>
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/django-cattrs-fields.iml" filepath="$PROJECT_DIR$/.idea/django-cattrs-fields.iml" />
6
- </modules>
7
- </component>
8
- </project>
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="" vcs="Git" />
5
- </component>
6
- </project>
@@ -1,68 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="AutoImportSettings">
4
- <option name="autoReloadType" value="SELECTIVE" />
5
- </component>
6
- <component name="ChangeListManager">
7
- <list default="true" id="4c34166b-f80c-4abf-aed1-4ad30d8c216e" name="Changes" comment="">
8
- <change beforePath="$PROJECT_DIR$/django_cattrs_fields/converters/register_hooks.py" beforeDir="false" afterPath="$PROJECT_DIR$/django_cattrs_fields/converters/register_hooks.py" afterDir="false" />
9
- <change beforePath="$PROJECT_DIR$/django_cattrs_fields/fields/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/django_cattrs_fields/fields/__init__.py" afterDir="false" />
10
- <change beforePath="$PROJECT_DIR$/django_cattrs_fields/hooks/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/django_cattrs_fields/hooks/__init__.py" afterDir="false" />
11
- </list>
12
- <option name="SHOW_DIALOG" value="false" />
13
- <option name="HIGHLIGHT_CONFLICTS" value="true" />
14
- <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
15
- <option name="LAST_RESOLUTION" value="IGNORE" />
16
- </component>
17
- <component name="Git.Settings">
18
- <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
19
- </component>
20
- <component name="ProjectColorInfo">{
21
- &quot;associatedIndex&quot;: 6
22
- }</component>
23
- <component name="ProjectId" id="38z4h3JEueKZmfomoDq5O48s8JO" />
24
- <component name="ProjectViewState">
25
- <option name="hideEmptyMiddlePackages" value="true" />
26
- <option name="showLibraryContents" value="true" />
27
- </component>
28
- <component name="PropertiesComponent"><![CDATA[{
29
- "keyToString": {
30
- "ModuleVcsDetector.initialDetectionPerformed": "true",
31
- "RunOnceActivity.ShowReadmeOnStart": "true",
32
- "RunOnceActivity.git.unshallow": "true",
33
- "RunOnceActivity.typescript.service.memoryLimit.init": "true",
34
- "ai.playground.ignore.import.keys.banner.in.settings": "true",
35
- "git-widget-placeholder": "time",
36
- "node.js.detected.package.eslint": "true",
37
- "node.js.detected.package.tslint": "true",
38
- "node.js.selected.package.eslint": "(autodetect)",
39
- "node.js.selected.package.tslint": "(autodetect)",
40
- "nodejs_package_manager_path": "npm",
41
- "settings.editor.selected.configurable": "com.intellij.python.ty.TyConfigurable",
42
- "vue.rearranger.settings.migration": "true"
43
- }
44
- }]]></component>
45
- <component name="SharedIndexes">
46
- <attachedChunks>
47
- <set>
48
- <option value="bundled-js-predefined-d6986cc7102b-9b0f141eb926-JavaScript-PY-253.30387.127" />
49
- <option value="bundled-python-sdk-3944b0c99280-6d6dccd035ac-com.jetbrains.pycharm.pro.sharedIndexes.bundled-PY-253.30387.127" />
50
- </set>
51
- </attachedChunks>
52
- </component>
53
- <component name="TaskManager">
54
- <task active="true" id="Default" summary="Default task">
55
- <changelist id="4c34166b-f80c-4abf-aed1-4ad30d8c216e" name="Changes" comment="" />
56
- <created>1769789183472</created>
57
- <option name="number" value="Default" />
58
- <option name="presentableId" value="Default" />
59
- <updated>1769789183472</updated>
60
- <workItem from="1769789185755" duration="2847000" />
61
- <workItem from="1769792956034" duration="1857000" />
62
- </task>
63
- <servers />
64
- </component>
65
- <component name="TypeScriptGeneratedFilesManager">
66
- <option name="version" value="3" />
67
- </component>
68
- </project>
@@ -1 +0,0 @@
1
- __version__ = "0.0.1"