fh-pydantic-form 0.3.7__tar.gz → 0.3.8__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.
Potentially problematic release.
This version of fh-pydantic-form might be problematic. Click here for more details.
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/.github/workflows/build.yaml +1 -1
- fh_pydantic_form-0.3.7/README.md → fh_pydantic_form-0.3.8/PKG-INFO +57 -0
- fh_pydantic_form-0.3.7/PKG-INFO → fh_pydantic_form-0.3.8/README.md +32 -25
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/RELEASE_NOTES.md +21 -0
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/pyproject.toml +3 -3
- fh_pydantic_form-0.3.8/src/fh_pydantic_form/comparison_form.py +1626 -0
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/src/fh_pydantic_form/field_renderers.py +175 -31
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/src/fh_pydantic_form/form_renderer.py +50 -45
- fh_pydantic_form-0.3.7/src/fh_pydantic_form/comparison_form.py +0 -637
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/.github/workflows/publish.yaml +0 -0
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/.gitignore +0 -0
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/.pre-commit-config.yaml +0 -0
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/LICENSE +0 -0
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/src/fh_pydantic_form/__init__.py +0 -0
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/src/fh_pydantic_form/color_utils.py +0 -0
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/src/fh_pydantic_form/constants.py +0 -0
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/src/fh_pydantic_form/defaults.py +0 -0
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/src/fh_pydantic_form/form_parser.py +0 -0
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/src/fh_pydantic_form/list_path.py +0 -0
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/src/fh_pydantic_form/py.typed +0 -0
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/src/fh_pydantic_form/registry.py +0 -0
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/src/fh_pydantic_form/type_helpers.py +0 -0
- {fh_pydantic_form-0.3.7 → fh_pydantic_form-0.3.8}/src/fh_pydantic_form/ui_style.py +0 -0
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: fh-pydantic-form
|
|
3
|
+
Version: 0.3.8
|
|
4
|
+
Summary: a library to turn any pydantic BaseModel object into a fasthtml/monsterui input form
|
|
5
|
+
Project-URL: Homepage, https://github.com/Marcura/fh-pydantic-form
|
|
6
|
+
Project-URL: Repository, https://github.com/Marcura/fh-pydantic-form
|
|
7
|
+
Project-URL: Documentation, https://github.com/Marcura/fh-pydantic-form
|
|
8
|
+
Author-email: Oege Dijk <o.dijk@marcura.com>
|
|
9
|
+
Maintainer-email: Oege Dijk <o.dijk@marcura.com>
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Keywords: fasthtml,forms,monsterui,pydantic,ui,web
|
|
12
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content :: Content Management System
|
|
19
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
20
|
+
Requires-Python: >=3.10
|
|
21
|
+
Requires-Dist: monsterui>=1.0.29
|
|
22
|
+
Requires-Dist: pydantic>=2.0
|
|
23
|
+
Requires-Dist: python-fasthtml>=0.12.29
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
|
|
1
26
|
# fh-pydantic-form
|
|
2
27
|
|
|
3
28
|
[](https://pypi.org/project/fh-pydantic-form/)
|
|
@@ -876,6 +901,38 @@ comparison_form.register_routes(app)
|
|
|
876
901
|
- **Metrics Integration**: Right side typically shows LLM output quality scores
|
|
877
902
|
- **Flexible Layout**: Responsive design works on desktop and mobile
|
|
878
903
|
- **Form Validation**: Standard validation works with either form
|
|
904
|
+
- **Intelligent List Copying**: Copy lists between forms with automatic length adjustment
|
|
905
|
+
|
|
906
|
+
### Copying Between Forms
|
|
907
|
+
|
|
908
|
+
The ComparisonForm provides granular copy functionality at multiple levels. When you enable copy buttons (via `copy_left=True` or `copy_right=True`), each field, nested model, and list item gets its own copy button for maximum flexibility:
|
|
909
|
+
|
|
910
|
+
```python
|
|
911
|
+
# Enable copy buttons (copy FROM right TO left)
|
|
912
|
+
comparison_form = ComparisonForm(
|
|
913
|
+
name="extraction_evaluation",
|
|
914
|
+
left_form=left_form,
|
|
915
|
+
right_form=right_form,
|
|
916
|
+
left_label="Ground Truth",
|
|
917
|
+
right_label="LLM Output",
|
|
918
|
+
copy_left=True, # Show copy buttons on right form to copy TO left
|
|
919
|
+
)
|
|
920
|
+
```
|
|
921
|
+
|
|
922
|
+
**Copy Granularity Levels:**
|
|
923
|
+
|
|
924
|
+
The copy feature works at five different levels of granularity:
|
|
925
|
+
|
|
926
|
+
1. **Individual Fields** - Copy a single field value (e.g., `name`, `price`, `status`)
|
|
927
|
+
|
|
928
|
+
2. **Nested BaseModel (Entire Object)** - Copy all fields within a nested model at once
|
|
929
|
+
|
|
930
|
+
3. **Individual Fields in Nested Models** - Copy a specific field within a nested object
|
|
931
|
+
|
|
932
|
+
4. **Full List Fields** - Copy entire lists with automatic length adjustment
|
|
933
|
+
|
|
934
|
+
5. **Individual List Items** - Add a single item from one list to another
|
|
935
|
+
|
|
879
936
|
|
|
880
937
|
### Common Patterns
|
|
881
938
|
|
|
@@ -1,28 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: fh-pydantic-form
|
|
3
|
-
Version: 0.3.7
|
|
4
|
-
Summary: a library to turn any pydantic BaseModel object into a fasthtml/monsterui input form
|
|
5
|
-
Project-URL: Homepage, https://github.com/Marcura/fh-pydantic-form
|
|
6
|
-
Project-URL: Repository, https://github.com/Marcura/fh-pydantic-form
|
|
7
|
-
Project-URL: Documentation, https://github.com/Marcura/fh-pydantic-form
|
|
8
|
-
Author-email: Oege Dijk <o.dijk@marcura.com>
|
|
9
|
-
Maintainer-email: Oege Dijk <o.dijk@marcura.com>
|
|
10
|
-
License-File: LICENSE
|
|
11
|
-
Keywords: fasthtml,forms,monsterui,pydantic,ui,web
|
|
12
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
13
|
-
Classifier: Operating System :: OS Independent
|
|
14
|
-
Classifier: Programming Language :: Python :: 3
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
-
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content :: Content Management System
|
|
19
|
-
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
20
|
-
Requires-Python: >=3.10
|
|
21
|
-
Requires-Dist: monsterui>=1.0.19
|
|
22
|
-
Requires-Dist: pydantic>=2.0
|
|
23
|
-
Requires-Dist: python-fasthtml>=0.12.12
|
|
24
|
-
Description-Content-Type: text/markdown
|
|
25
|
-
|
|
26
1
|
# fh-pydantic-form
|
|
27
2
|
|
|
28
3
|
[](https://pypi.org/project/fh-pydantic-form/)
|
|
@@ -901,6 +876,38 @@ comparison_form.register_routes(app)
|
|
|
901
876
|
- **Metrics Integration**: Right side typically shows LLM output quality scores
|
|
902
877
|
- **Flexible Layout**: Responsive design works on desktop and mobile
|
|
903
878
|
- **Form Validation**: Standard validation works with either form
|
|
879
|
+
- **Intelligent List Copying**: Copy lists between forms with automatic length adjustment
|
|
880
|
+
|
|
881
|
+
### Copying Between Forms
|
|
882
|
+
|
|
883
|
+
The ComparisonForm provides granular copy functionality at multiple levels. When you enable copy buttons (via `copy_left=True` or `copy_right=True`), each field, nested model, and list item gets its own copy button for maximum flexibility:
|
|
884
|
+
|
|
885
|
+
```python
|
|
886
|
+
# Enable copy buttons (copy FROM right TO left)
|
|
887
|
+
comparison_form = ComparisonForm(
|
|
888
|
+
name="extraction_evaluation",
|
|
889
|
+
left_form=left_form,
|
|
890
|
+
right_form=right_form,
|
|
891
|
+
left_label="Ground Truth",
|
|
892
|
+
right_label="LLM Output",
|
|
893
|
+
copy_left=True, # Show copy buttons on right form to copy TO left
|
|
894
|
+
)
|
|
895
|
+
```
|
|
896
|
+
|
|
897
|
+
**Copy Granularity Levels:**
|
|
898
|
+
|
|
899
|
+
The copy feature works at five different levels of granularity:
|
|
900
|
+
|
|
901
|
+
1. **Individual Fields** - Copy a single field value (e.g., `name`, `price`, `status`)
|
|
902
|
+
|
|
903
|
+
2. **Nested BaseModel (Entire Object)** - Copy all fields within a nested model at once
|
|
904
|
+
|
|
905
|
+
3. **Individual Fields in Nested Models** - Copy a specific field within a nested object
|
|
906
|
+
|
|
907
|
+
4. **Full List Fields** - Copy entire lists with automatic length adjustment
|
|
908
|
+
|
|
909
|
+
5. **Individual List Items** - Add a single item from one list to another
|
|
910
|
+
|
|
904
911
|
|
|
905
912
|
### Common Patterns
|
|
906
913
|
|
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Release Notes
|
|
2
2
|
|
|
3
|
+
## Version 0.3.8 (2025-10-02)
|
|
4
|
+
|
|
5
|
+
### 🎉 New Features
|
|
6
|
+
|
|
7
|
+
#### Intelligent Copying in ComparisonForm
|
|
8
|
+
- **NEW**: Comprehensive copy functionality at multiple granularity levels
|
|
9
|
+
- Individual field copying
|
|
10
|
+
- Full nested BaseModel object copying
|
|
11
|
+
- Individual fields within nested models
|
|
12
|
+
- **Full list field copying with automatic length alignment**
|
|
13
|
+
- Individual list item copying with smart insertion
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### 🔧 Bug Fixes & Improvements
|
|
17
|
+
|
|
18
|
+
#### SkipJsonSchema Field Handling
|
|
19
|
+
- **FIXED**: SkipJsonSchema fields now properly preserve initial values when provided
|
|
20
|
+
- **IMPROVED**: Better handling of skip fields with default values
|
|
21
|
+
- **ENHANCED**: More robust field introspection for SkipJsonSchema annotation
|
|
22
|
+
|
|
23
|
+
|
|
3
24
|
## Version 0.3.7 (2025-09-19)
|
|
4
25
|
|
|
5
26
|
### 🎉 New Features
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "fh-pydantic-form"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.8"
|
|
4
4
|
description = "a library to turn any pydantic BaseModel object into a fasthtml/monsterui input form"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -29,9 +29,9 @@ classifiers = [
|
|
|
29
29
|
"Operating System :: OS Independent",
|
|
30
30
|
]
|
|
31
31
|
dependencies = [
|
|
32
|
-
"monsterui>=1.0.
|
|
32
|
+
"monsterui>=1.0.29",
|
|
33
33
|
"pydantic>=2.0",
|
|
34
|
-
"python-fasthtml>=0.12.
|
|
34
|
+
"python-fasthtml>=0.12.29",
|
|
35
35
|
]
|
|
36
36
|
|
|
37
37
|
[project.urls]
|