From f230eedda75214371b5956ea50dc7b3f2ffcb223 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Fri, 5 May 2023 06:21:40 +0000 Subject: automatic import of python-jsonclasses --- .gitignore | 1 + python-jsonclasses.spec | 317 ++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 319 insertions(+) create mode 100644 python-jsonclasses.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..f1ed8ab 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/jsonclasses-3.3.0.tar.gz diff --git a/python-jsonclasses.spec b/python-jsonclasses.spec new file mode 100644 index 0000000..f317107 --- /dev/null +++ b/python-jsonclasses.spec @@ -0,0 +1,317 @@ +%global _empty_manifest_terminate_build 0 +Name: python-jsonclasses +Version: 3.3.0 +Release: 1 +Summary: The modern declarative data flow pipeline and data graph framework for the AI empowered generation. +License: MIT +URL: https://github.com/fillmula/jsonclasses +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/dc/f0/fc150b64dc78b2514437dc1cc5b5bcf26adc81c389a37eab29f88974e731/jsonclasses-3.3.0.tar.gz +BuildArch: noarch + +Requires: python3-inflection-plus +Requires: python3-bcrypt + +%description +JSONClasses is a declarative data flow pipeline and data graph framework. +Official Website: https://www.jsonclasses.com +Official Documentation: https://docs.jsonclasses.com +## ๐Ÿš— Features +| | **Features**| +| --- | ----------------------------------------------------------------------------------| +| ๐Ÿ›  | **Data Modeling** Declarative data model with Python type hints | +| ๐Ÿธ | **Data Sanitization** Two strictness modes | +| ๐Ÿฉบ | **Data Validation** Descriptive data validation rules without even a line of code | +| ๐Ÿงฌ | **Data Transformation** Intuitive with modifier pipelines | +| ๐Ÿฆ– | **Data Presentation** Custom key encoding & decoding strategies | +| ๐ŸŒ | **Data Graphing** Models are linked with each other on the same graph | +| ๐Ÿ„โ€โ™‚๏ธ | **Data Querying** Well-designed protocols and implementations for databases | +| ๐Ÿš€ | **Synthesized CRUD** Only with a line of code | +| ๐Ÿ‘ฎโ€โ™€๏ธ | **Session & Authorization** Builtin support for session and authorization | +| ๐Ÿ” | **Permission System** Supports both object level and field level | +| ๐Ÿ“ | **File Uploading** A configuration is enough for file uploading | +| ๐Ÿ“ฆ | **Data Seeder** Declarative named graph relationship | +## ๐ŸŽ Getting Started +### Prerequisites +[Python >= 3.10](https://www.python.org) is required. You can download it [here](https://www.python.org/downloads/). +### Install JSONClasses +Install JSONClasses is simple with `pip`. +```sh +pip install jsonclasses +``` +### Install Components +Depends on your need, you can install ORM integration and HTTP library integration with the following commands. +```sh +pip install jsonclasses-pymongo jsonclasses-server +``` +## ๐ŸŽน Examples +## Business Logic Examples +### Example 1: Dating App Users +Let's say, you are building the base user functionality for a cross-platform +dating app. +The product requirements are: +1. Unique phone number is required +2. Password should be secure, encrypted, hidden from response +3. Gender cannot be changed after set +4. This product is adult only +5. User intro should be brief +Let's transform the requirements into code. +```python +from jsonclasses import jsonclass, types +from jsonclasses_pymongo import pymongo +from jsonclasses_server import api +@api +@pymongo +@jsonclass +class User: + id: str = types.readonly.str.primary.mongoid.required + phone_no: str = types.str.unique.index.match(local_phone_no_regex).required #1 + email: str = types.str.match(email_regex) + password: str = types.str.writeonly.length(8, 16).match(secure_password_regex).transform(salt).required #2 + nickname: str = types.str.required + gender: str = types.str.writeonce.oneof(['male', 'female']) #3 + age: int = types.int.min(18).max(100) #4 + intro: str = types.str.truncate(500) #5 + created_at: datetime = types.readonly.datetime.tscreated.required + updated_at: datetime = types.readonly.datetime.tsupdated.required +``` +## โšฝ๏ธ Database & HTTP Library Integrations +* [JSON Classes Pymongo](https://github.com/fillmula/jsonclasses-pymongo) +The mongodb integration through pymongo driver. +* [JSON Classes Server](https://github.com/fillmula/jsonclasses-server) +The server integration. +## ๐Ÿฆธ Contributing +* File a [bug report](https://github.com/fillmula/jsonclasses/issues/new). Be sure to include information like what version of YoMo you are using, what your operating system is, and steps to recreate the bug. +* Suggest a new feature. +## ๐Ÿคน๐Ÿปโ€โ™€๏ธ Feedback +Any questions or good ideas, please feel free to come to our Discussion. Any feedback would be greatly appreciated! +## License +[MIT License](https://github.com/fillmula/jsonclasses/blob/master/LICENSE) +[pypi-image]: https://img.shields.io/pypi/v/jsonclasses.svg?style=flat-square +[pypi-url]: https://pypi.org/project/jsonclasses/ +[python-image]: https://img.shields.io/pypi/pyversions/jsonclasses?style=flat-square +[python-url]: https://pypi.org/project/jsonclasses/ +[license-image]: https://img.shields.io/github/license/fillmula/jsonclasses.svg?style=flat-square +[license-url]: https://github.com/fillmula/jsonclasses/blob/master/LICENSE +[pr-image]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square +[pr-url]: https://github.com/fillmula/jsonclasses + +%package -n python3-jsonclasses +Summary: The modern declarative data flow pipeline and data graph framework for the AI empowered generation. +Provides: python-jsonclasses +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-jsonclasses +JSONClasses is a declarative data flow pipeline and data graph framework. +Official Website: https://www.jsonclasses.com +Official Documentation: https://docs.jsonclasses.com +## ๐Ÿš— Features +| | **Features**| +| --- | ----------------------------------------------------------------------------------| +| ๐Ÿ›  | **Data Modeling** Declarative data model with Python type hints | +| ๐Ÿธ | **Data Sanitization** Two strictness modes | +| ๐Ÿฉบ | **Data Validation** Descriptive data validation rules without even a line of code | +| ๐Ÿงฌ | **Data Transformation** Intuitive with modifier pipelines | +| ๐Ÿฆ– | **Data Presentation** Custom key encoding & decoding strategies | +| ๐ŸŒ | **Data Graphing** Models are linked with each other on the same graph | +| ๐Ÿ„โ€โ™‚๏ธ | **Data Querying** Well-designed protocols and implementations for databases | +| ๐Ÿš€ | **Synthesized CRUD** Only with a line of code | +| ๐Ÿ‘ฎโ€โ™€๏ธ | **Session & Authorization** Builtin support for session and authorization | +| ๐Ÿ” | **Permission System** Supports both object level and field level | +| ๐Ÿ“ | **File Uploading** A configuration is enough for file uploading | +| ๐Ÿ“ฆ | **Data Seeder** Declarative named graph relationship | +## ๐ŸŽ Getting Started +### Prerequisites +[Python >= 3.10](https://www.python.org) is required. You can download it [here](https://www.python.org/downloads/). +### Install JSONClasses +Install JSONClasses is simple with `pip`. +```sh +pip install jsonclasses +``` +### Install Components +Depends on your need, you can install ORM integration and HTTP library integration with the following commands. +```sh +pip install jsonclasses-pymongo jsonclasses-server +``` +## ๐ŸŽน Examples +## Business Logic Examples +### Example 1: Dating App Users +Let's say, you are building the base user functionality for a cross-platform +dating app. +The product requirements are: +1. Unique phone number is required +2. Password should be secure, encrypted, hidden from response +3. Gender cannot be changed after set +4. This product is adult only +5. User intro should be brief +Let's transform the requirements into code. +```python +from jsonclasses import jsonclass, types +from jsonclasses_pymongo import pymongo +from jsonclasses_server import api +@api +@pymongo +@jsonclass +class User: + id: str = types.readonly.str.primary.mongoid.required + phone_no: str = types.str.unique.index.match(local_phone_no_regex).required #1 + email: str = types.str.match(email_regex) + password: str = types.str.writeonly.length(8, 16).match(secure_password_regex).transform(salt).required #2 + nickname: str = types.str.required + gender: str = types.str.writeonce.oneof(['male', 'female']) #3 + age: int = types.int.min(18).max(100) #4 + intro: str = types.str.truncate(500) #5 + created_at: datetime = types.readonly.datetime.tscreated.required + updated_at: datetime = types.readonly.datetime.tsupdated.required +``` +## โšฝ๏ธ Database & HTTP Library Integrations +* [JSON Classes Pymongo](https://github.com/fillmula/jsonclasses-pymongo) +The mongodb integration through pymongo driver. +* [JSON Classes Server](https://github.com/fillmula/jsonclasses-server) +The server integration. +## ๐Ÿฆธ Contributing +* File a [bug report](https://github.com/fillmula/jsonclasses/issues/new). Be sure to include information like what version of YoMo you are using, what your operating system is, and steps to recreate the bug. +* Suggest a new feature. +## ๐Ÿคน๐Ÿปโ€โ™€๏ธ Feedback +Any questions or good ideas, please feel free to come to our Discussion. Any feedback would be greatly appreciated! +## License +[MIT License](https://github.com/fillmula/jsonclasses/blob/master/LICENSE) +[pypi-image]: https://img.shields.io/pypi/v/jsonclasses.svg?style=flat-square +[pypi-url]: https://pypi.org/project/jsonclasses/ +[python-image]: https://img.shields.io/pypi/pyversions/jsonclasses?style=flat-square +[python-url]: https://pypi.org/project/jsonclasses/ +[license-image]: https://img.shields.io/github/license/fillmula/jsonclasses.svg?style=flat-square +[license-url]: https://github.com/fillmula/jsonclasses/blob/master/LICENSE +[pr-image]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square +[pr-url]: https://github.com/fillmula/jsonclasses + +%package help +Summary: Development documents and examples for jsonclasses +Provides: python3-jsonclasses-doc +%description help +JSONClasses is a declarative data flow pipeline and data graph framework. +Official Website: https://www.jsonclasses.com +Official Documentation: https://docs.jsonclasses.com +## ๐Ÿš— Features +| | **Features**| +| --- | ----------------------------------------------------------------------------------| +| ๐Ÿ›  | **Data Modeling** Declarative data model with Python type hints | +| ๐Ÿธ | **Data Sanitization** Two strictness modes | +| ๐Ÿฉบ | **Data Validation** Descriptive data validation rules without even a line of code | +| ๐Ÿงฌ | **Data Transformation** Intuitive with modifier pipelines | +| ๐Ÿฆ– | **Data Presentation** Custom key encoding & decoding strategies | +| ๐ŸŒ | **Data Graphing** Models are linked with each other on the same graph | +| ๐Ÿ„โ€โ™‚๏ธ | **Data Querying** Well-designed protocols and implementations for databases | +| ๐Ÿš€ | **Synthesized CRUD** Only with a line of code | +| ๐Ÿ‘ฎโ€โ™€๏ธ | **Session & Authorization** Builtin support for session and authorization | +| ๐Ÿ” | **Permission System** Supports both object level and field level | +| ๐Ÿ“ | **File Uploading** A configuration is enough for file uploading | +| ๐Ÿ“ฆ | **Data Seeder** Declarative named graph relationship | +## ๐ŸŽ Getting Started +### Prerequisites +[Python >= 3.10](https://www.python.org) is required. You can download it [here](https://www.python.org/downloads/). +### Install JSONClasses +Install JSONClasses is simple with `pip`. +```sh +pip install jsonclasses +``` +### Install Components +Depends on your need, you can install ORM integration and HTTP library integration with the following commands. +```sh +pip install jsonclasses-pymongo jsonclasses-server +``` +## ๐ŸŽน Examples +## Business Logic Examples +### Example 1: Dating App Users +Let's say, you are building the base user functionality for a cross-platform +dating app. +The product requirements are: +1. Unique phone number is required +2. Password should be secure, encrypted, hidden from response +3. Gender cannot be changed after set +4. This product is adult only +5. User intro should be brief +Let's transform the requirements into code. +```python +from jsonclasses import jsonclass, types +from jsonclasses_pymongo import pymongo +from jsonclasses_server import api +@api +@pymongo +@jsonclass +class User: + id: str = types.readonly.str.primary.mongoid.required + phone_no: str = types.str.unique.index.match(local_phone_no_regex).required #1 + email: str = types.str.match(email_regex) + password: str = types.str.writeonly.length(8, 16).match(secure_password_regex).transform(salt).required #2 + nickname: str = types.str.required + gender: str = types.str.writeonce.oneof(['male', 'female']) #3 + age: int = types.int.min(18).max(100) #4 + intro: str = types.str.truncate(500) #5 + created_at: datetime = types.readonly.datetime.tscreated.required + updated_at: datetime = types.readonly.datetime.tsupdated.required +``` +## โšฝ๏ธ Database & HTTP Library Integrations +* [JSON Classes Pymongo](https://github.com/fillmula/jsonclasses-pymongo) +The mongodb integration through pymongo driver. +* [JSON Classes Server](https://github.com/fillmula/jsonclasses-server) +The server integration. +## ๐Ÿฆธ Contributing +* File a [bug report](https://github.com/fillmula/jsonclasses/issues/new). Be sure to include information like what version of YoMo you are using, what your operating system is, and steps to recreate the bug. +* Suggest a new feature. +## ๐Ÿคน๐Ÿปโ€โ™€๏ธ Feedback +Any questions or good ideas, please feel free to come to our Discussion. Any feedback would be greatly appreciated! +## License +[MIT License](https://github.com/fillmula/jsonclasses/blob/master/LICENSE) +[pypi-image]: https://img.shields.io/pypi/v/jsonclasses.svg?style=flat-square +[pypi-url]: https://pypi.org/project/jsonclasses/ +[python-image]: https://img.shields.io/pypi/pyversions/jsonclasses?style=flat-square +[python-url]: https://pypi.org/project/jsonclasses/ +[license-image]: https://img.shields.io/github/license/fillmula/jsonclasses.svg?style=flat-square +[license-url]: https://github.com/fillmula/jsonclasses/blob/master/LICENSE +[pr-image]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square +[pr-url]: https://github.com/fillmula/jsonclasses + +%prep +%autosetup -n jsonclasses-3.3.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-jsonclasses -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot - 3.3.0-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..e46a4d1 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +7498a9ae4576d3765619302d732dcc20 jsonclasses-3.3.0.tar.gz -- cgit v1.2.3