liberty-framework 6.0.44__py3-none-any.whl → 6.0.45__py3-none-any.whl
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.
- liberty_framework-6.0.45.dist-info/METADATA +221 -0
- {liberty_framework-6.0.44.dist-info → liberty_framework-6.0.45.dist-info}/RECORD +6 -6
- liberty_framework-6.0.44.dist-info/METADATA +0 -79
- {liberty_framework-6.0.44.dist-info → liberty_framework-6.0.45.dist-info}/LICENSE +0 -0
- {liberty_framework-6.0.44.dist-info → liberty_framework-6.0.45.dist-info}/WHEEL +0 -0
- {liberty_framework-6.0.44.dist-info → liberty_framework-6.0.45.dist-info}/entry_points.txt +0 -0
- {liberty_framework-6.0.44.dist-info → liberty_framework-6.0.45.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
|
+
Name: liberty-framework
|
|
3
|
+
Version: 6.0.45
|
|
4
|
+
Summary: Liberty Framework
|
|
5
|
+
Author: Franck Blettner
|
|
6
|
+
Author-email: franck.blettner@nomana-it.fr
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: Framework :: FastAPI
|
|
9
|
+
Classifier: Operating System :: OS Independent
|
|
10
|
+
Requires-Python: >=3.8
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Requires-Dist: alembic==1.14.1
|
|
14
|
+
Requires-Dist: allure-pytest==2.13.5
|
|
15
|
+
Requires-Dist: allure-python-commons==2.13.5
|
|
16
|
+
Requires-Dist: annotated-types==0.7.0
|
|
17
|
+
Requires-Dist: anyio==4.8.0
|
|
18
|
+
Requires-Dist: asyncpg==0.30.0
|
|
19
|
+
Requires-Dist: attrs==25.1.0
|
|
20
|
+
Requires-Dist: bidict==0.23.1
|
|
21
|
+
Requires-Dist: certifi==2024.12.14
|
|
22
|
+
Requires-Dist: cffi==1.17.1
|
|
23
|
+
Requires-Dist: click==8.1.8
|
|
24
|
+
Requires-Dist: cryptography==44.0.0
|
|
25
|
+
Requires-Dist: dnspython==2.7.0
|
|
26
|
+
Requires-Dist: email_validator==2.2.0
|
|
27
|
+
Requires-Dist: fastapi==0.115.7
|
|
28
|
+
Requires-Dist: fastapi-cli==0.0.7
|
|
29
|
+
Requires-Dist: fastapi-socketio==0.0.10
|
|
30
|
+
Requires-Dist: greenlet==3.1.1
|
|
31
|
+
Requires-Dist: h11==0.14.0
|
|
32
|
+
Requires-Dist: httpcore==1.0.7
|
|
33
|
+
Requires-Dist: httptools==0.6.4
|
|
34
|
+
Requires-Dist: httpx==0.28.1
|
|
35
|
+
Requires-Dist: idna==3.10
|
|
36
|
+
Requires-Dist: inflect==7.5.0
|
|
37
|
+
Requires-Dist: iniconfig==2.0.0
|
|
38
|
+
Requires-Dist: Jinja2==3.1.5
|
|
39
|
+
Requires-Dist: Mako==1.3.8
|
|
40
|
+
Requires-Dist: markdown-it-py==3.0.0
|
|
41
|
+
Requires-Dist: MarkupSafe==3.0.2
|
|
42
|
+
Requires-Dist: mdurl==0.1.2
|
|
43
|
+
Requires-Dist: more-itertools==10.6.0
|
|
44
|
+
Requires-Dist: oracledb==2.4.1
|
|
45
|
+
Requires-Dist: packaging==24.2
|
|
46
|
+
Requires-Dist: pluggy==1.5.0
|
|
47
|
+
Requires-Dist: psycopg2-binary==2.9.10
|
|
48
|
+
Requires-Dist: pycparser==2.22
|
|
49
|
+
Requires-Dist: pydantic==2.10.6
|
|
50
|
+
Requires-Dist: pydantic_core==2.27.2
|
|
51
|
+
Requires-Dist: Pygments==2.19.1
|
|
52
|
+
Requires-Dist: PyJWT==2.10.1
|
|
53
|
+
Requires-Dist: pytest==8.3.4
|
|
54
|
+
Requires-Dist: python-dotenv==1.0.1
|
|
55
|
+
Requires-Dist: python-engineio==4.11.2
|
|
56
|
+
Requires-Dist: python-multipart==0.0.20
|
|
57
|
+
Requires-Dist: python-socketio==5.12.1
|
|
58
|
+
Requires-Dist: PyYAML==6.0.2
|
|
59
|
+
Requires-Dist: rich==13.9.4
|
|
60
|
+
Requires-Dist: rich-toolkit==0.13.2
|
|
61
|
+
Requires-Dist: setuptools==75.8.0
|
|
62
|
+
Requires-Dist: shellingham==1.5.4
|
|
63
|
+
Requires-Dist: simple-websocket==1.1.0
|
|
64
|
+
Requires-Dist: sniffio==1.3.1
|
|
65
|
+
Requires-Dist: SQLAlchemy==2.0.37
|
|
66
|
+
Requires-Dist: starlette==0.45.3
|
|
67
|
+
Requires-Dist: typeguard==4.4.1
|
|
68
|
+
Requires-Dist: typer==0.15.1
|
|
69
|
+
Requires-Dist: typing_extensions==4.12.2
|
|
70
|
+
Requires-Dist: uvicorn==0.34.0
|
|
71
|
+
Requires-Dist: uvloop==0.21.0
|
|
72
|
+
Requires-Dist: watchfiles==1.0.4
|
|
73
|
+
Requires-Dist: websockets==14.2
|
|
74
|
+
Requires-Dist: wsproto==1.2.0
|
|
75
|
+
Dynamic: author
|
|
76
|
+
Dynamic: author-email
|
|
77
|
+
Dynamic: classifier
|
|
78
|
+
Dynamic: description
|
|
79
|
+
Dynamic: description-content-type
|
|
80
|
+
Dynamic: requires-dist
|
|
81
|
+
Dynamic: requires-python
|
|
82
|
+
Dynamic: summary
|
|
83
|
+
|
|
84
|
+
# 📖 Liberty Framework
|
|
85
|
+
### A Scalable and Extensible FastAPI and React Framework for Business Applications
|
|
86
|
+
|
|
87
|
+
🚀 **Liberty Framework** is a powerful, modular, and extensible **FastAPI-based and React-based framework** designed to streamline backend development for business applications. It provides **database management, authentication, real-time socket communication, and more**, making it easy to deploy and scale enterprise solutions.
|
|
88
|
+
|
|
89
|
+
- Online demo is available at [https://liberty.nomana-it.fr](https://liberty.nomana-it.fr)
|
|
90
|
+
- Web page at: [https://nomana-it.fr](https://nomana-it.fr)
|
|
91
|
+
|
|
92
|
+
```ini
|
|
93
|
+
Login = demo
|
|
94
|
+
Password = demo
|
|
95
|
+
Appplication = LIBERTY, NOMASX-1 and NOMAJDE
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+

|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## ✨ Features
|
|
103
|
+
✅ **FastAPI-based** – High-performance backend with asynchronous capabilities.
|
|
104
|
+
✅ **React-based** – Beautiful and responsive frontend without any dependencies to components.
|
|
105
|
+
✅ **Database Management** – SQLAlchemy, Alembic for migrations, and PostgreSQL support.
|
|
106
|
+
✅ **Real-Time Communication** – Integrated WebSocket (Socket.IO) for live updates.
|
|
107
|
+
✅ **Authentication & Security** – JWT authentication, encryption, and role-based access.
|
|
108
|
+
✅ **Automated Database Migrations** – Alembic versioning for multiple databases.
|
|
109
|
+
✅ **Easy Installation & Deployment** – Available as a **Python package** and **Docker image**.
|
|
110
|
+
✅ **Extensible** – Plugin-based architecture to support future enhancements.
|
|
111
|
+
|
|
112
|
+
## ✨ Enterprise additional features
|
|
113
|
+
- 🌐 **Traefik**: A powerful reverse proxy for routing and load balancing.
|
|
114
|
+
- ⚙️ **AirFlow**: Automate and manage workflows effortlessly.
|
|
115
|
+
- 🐘 **pgAdmin**: Manage your PostgreSQL database visually with ease.
|
|
116
|
+
- 🔐 **KeyCloak**: OIDC Service for authentication
|
|
117
|
+
- 📂 **Gitea**: Git Repository to manage dags, plugins, backup
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 📦 Installation
|
|
122
|
+
|
|
123
|
+
### Requirements
|
|
124
|
+
A PostgreSQL 16 database is required. You can either:
|
|
125
|
+
- Create a Docker image based on postgres:16, or
|
|
126
|
+
- Install PostgreSQL 16 directly on your host system.
|
|
127
|
+
|
|
128
|
+
For easier setup and to ensure compatibility with future enterprise features, it is recommended to create a database with a user named liberty.
|
|
129
|
+
|
|
130
|
+
### **Option 1: Install via `pip`**
|
|
131
|
+
```bash
|
|
132
|
+
pip install liberty-framework
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## 🚀 Quick Start
|
|
139
|
+
After installation, you can **start the framework** with:
|
|
140
|
+
```bash
|
|
141
|
+
liberty-start
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## ⚙️ URL
|
|
147
|
+
|
|
148
|
+
### Installation URL
|
|
149
|
+
- Setup: `http://<your_host>:<your_port>/setup`
|
|
150
|
+
- Application: `http://<your_host>:<your_port>`
|
|
151
|
+
- API Documentation: `http://<your_host>:<your_port>/api`
|
|
152
|
+
- Swagger: `http://<your_host>:<your_port>/api/test`
|
|
153
|
+
|
|
154
|
+
### Demo URL
|
|
155
|
+
- Setup: [https://liberty.nomana-it.fr/setup](https://liberty.nomana-it.fr/setup)
|
|
156
|
+
- Application: [https://liberty.nomana-it.fr](https://liberty.nomana-it.fr)
|
|
157
|
+
- API Documentation: [https://liberty.nomana-it.fr/api](https://liberty.nomana-it.fr/api)
|
|
158
|
+
- Swagger: [https://liberty.nomana-it.fr/api/test](https://liberty.nomana-it.fr/api/test)
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## 📖 Documentation
|
|
163
|
+
- **Reference**: [https://docs.nomana-it.fr/liberty](https://docs.nomana-it.fr/liberty)
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## 🤝 Contributing
|
|
168
|
+
We welcome contributions! Here’s how you can help:
|
|
169
|
+
1. **Fork** this repository.
|
|
170
|
+
2. **Clone** your fork:
|
|
171
|
+
```bash
|
|
172
|
+
git clone https://github.com/fblettner/liberty-framework.git
|
|
173
|
+
```
|
|
174
|
+
3. **Create a new branch** for your feature:
|
|
175
|
+
```bash
|
|
176
|
+
git checkout -b feature-name
|
|
177
|
+
```
|
|
178
|
+
4. **Commit your changes**:
|
|
179
|
+
```bash
|
|
180
|
+
git commit -m "Add new feature"
|
|
181
|
+
```
|
|
182
|
+
5. **Push to your fork** and **submit a Pull Request**:
|
|
183
|
+
```bash
|
|
184
|
+
git push origin feature-name
|
|
185
|
+
```
|
|
186
|
+
6. **Join discussions** and help improve the framework!
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## 💖 Sponsorship
|
|
191
|
+
If you find **Liberty Framework** useful and would like to support its development, consider sponsoring us. Your contributions help maintain the project, add new features, and improve the documentation. Every contribution, big or small, is greatly appreciated!
|
|
192
|
+
|
|
193
|
+
To sponsor, visit: **[GitHub Sponsors](https://github.com/sponsors/fblettner)** or reach out to us directly.
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## 📜 License
|
|
198
|
+
Liberty Framework is **open-source software** licensed under the **AGPL License**.
|
|
199
|
+
Enterprise features require a license:
|
|
200
|
+
- **NOMASX-1**: Security management, Segregation of duties and licenses compliancy
|
|
201
|
+
- **NOMAJDE** JD-Edwards integration
|
|
202
|
+
- **Airflow Plugins**: Automatic database backup, database synchronisation...
|
|
203
|
+
- **Liberty AI**: Currently, OpenAI is set into the configuration, you have to use your own account without enterprise features license
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## 📧 Contact & Support
|
|
208
|
+
If you have questions or need support:
|
|
209
|
+
- **Email**: [franck.blettner@nomana-it.fr](mailto:franck.blettner@nomana-it.fr)
|
|
210
|
+
- **GitHub Issues**: [Report an issue](https://github.com/fblettner/liberty-framework/issues)
|
|
211
|
+
- **Discussions**: Join the conversation in the **GitHub Discussions** section.
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
### ⭐ If you find Liberty Framework useful, consider giving it a star on GitHub!
|
|
216
|
+
```bash
|
|
217
|
+
git clone https://github.com/fblettner/liberty-framework.git
|
|
218
|
+
cd liberty-framework
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
🚀 **Let's build the future of business applications together!** 🚀
|
|
@@ -203,9 +203,9 @@ tests/scenarios/__pycache__/test_fmw_applications.cpython-312-pytest-8.3.4.pyc,s
|
|
|
203
203
|
tests/scenarios/__pycache__/test_fmw_encrypt.cpython-312-pytest-8.3.4.pyc,sha256=VllhpnVjcJtvmJhaagWcDQpzD1GxZ72eFT4yoOy3Bck,2880
|
|
204
204
|
tests/scenarios/__pycache__/test_fmw_modules.cpython-312-pytest-8.3.4.pyc,sha256=ccuuDE4SD_TRq98nKRwoIBPztSAnVw5RaSoXjeaWQv4,3837
|
|
205
205
|
tests/scenarios/__pycache__/test_fmw_themes.cpython-312-pytest-8.3.4.pyc,sha256=rfQXJFo9xKCdkxbytBnmLpAKgvk9vW475Ov-3ENBm2o,4900
|
|
206
|
-
liberty_framework-6.0.
|
|
207
|
-
liberty_framework-6.0.
|
|
208
|
-
liberty_framework-6.0.
|
|
209
|
-
liberty_framework-6.0.
|
|
210
|
-
liberty_framework-6.0.
|
|
211
|
-
liberty_framework-6.0.
|
|
206
|
+
liberty_framework-6.0.45.dist-info/LICENSE,sha256=ILBn-G3jdarm2w8oOrLmXeJNU3czuJvVhDLBASWdhM8,34522
|
|
207
|
+
liberty_framework-6.0.45.dist-info/METADATA,sha256=Eb_BtbU9pyYi4uVd_x3XzmiVdM1vHo5QVW7otf9gZoQ,7822
|
|
208
|
+
liberty_framework-6.0.45.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
209
|
+
liberty_framework-6.0.45.dist-info/entry_points.txt,sha256=iVkIVLRG-sd7KeOUBSf7Ew_1ckUK5hvZZocaTh3Nq6Q,48
|
|
210
|
+
liberty_framework-6.0.45.dist-info/top_level.txt,sha256=MJXn5pCZl0XSEeWNKzshxzMMANr3AymeoMYBO1JNPyU,10
|
|
211
|
+
liberty_framework-6.0.45.dist-info/RECORD,,
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.2
|
|
2
|
-
Name: liberty-framework
|
|
3
|
-
Version: 6.0.44
|
|
4
|
-
Summary: Liberty Framework
|
|
5
|
-
Author: Franck Blettner
|
|
6
|
-
Author-email: franck.blettner@nomana-it.fr
|
|
7
|
-
Classifier: Programming Language :: Python :: 3
|
|
8
|
-
Classifier: Framework :: FastAPI
|
|
9
|
-
Classifier: Operating System :: OS Independent
|
|
10
|
-
Requires-Python: >=3.8
|
|
11
|
-
License-File: LICENSE
|
|
12
|
-
Requires-Dist: alembic==1.14.1
|
|
13
|
-
Requires-Dist: allure-pytest==2.13.5
|
|
14
|
-
Requires-Dist: allure-python-commons==2.13.5
|
|
15
|
-
Requires-Dist: annotated-types==0.7.0
|
|
16
|
-
Requires-Dist: anyio==4.8.0
|
|
17
|
-
Requires-Dist: asyncpg==0.30.0
|
|
18
|
-
Requires-Dist: attrs==25.1.0
|
|
19
|
-
Requires-Dist: bidict==0.23.1
|
|
20
|
-
Requires-Dist: certifi==2024.12.14
|
|
21
|
-
Requires-Dist: cffi==1.17.1
|
|
22
|
-
Requires-Dist: click==8.1.8
|
|
23
|
-
Requires-Dist: cryptography==44.0.0
|
|
24
|
-
Requires-Dist: dnspython==2.7.0
|
|
25
|
-
Requires-Dist: email_validator==2.2.0
|
|
26
|
-
Requires-Dist: fastapi==0.115.7
|
|
27
|
-
Requires-Dist: fastapi-cli==0.0.7
|
|
28
|
-
Requires-Dist: fastapi-socketio==0.0.10
|
|
29
|
-
Requires-Dist: greenlet==3.1.1
|
|
30
|
-
Requires-Dist: h11==0.14.0
|
|
31
|
-
Requires-Dist: httpcore==1.0.7
|
|
32
|
-
Requires-Dist: httptools==0.6.4
|
|
33
|
-
Requires-Dist: httpx==0.28.1
|
|
34
|
-
Requires-Dist: idna==3.10
|
|
35
|
-
Requires-Dist: inflect==7.5.0
|
|
36
|
-
Requires-Dist: iniconfig==2.0.0
|
|
37
|
-
Requires-Dist: Jinja2==3.1.5
|
|
38
|
-
Requires-Dist: Mako==1.3.8
|
|
39
|
-
Requires-Dist: markdown-it-py==3.0.0
|
|
40
|
-
Requires-Dist: MarkupSafe==3.0.2
|
|
41
|
-
Requires-Dist: mdurl==0.1.2
|
|
42
|
-
Requires-Dist: more-itertools==10.6.0
|
|
43
|
-
Requires-Dist: oracledb==2.4.1
|
|
44
|
-
Requires-Dist: packaging==24.2
|
|
45
|
-
Requires-Dist: pluggy==1.5.0
|
|
46
|
-
Requires-Dist: psycopg2-binary==2.9.10
|
|
47
|
-
Requires-Dist: pycparser==2.22
|
|
48
|
-
Requires-Dist: pydantic==2.10.6
|
|
49
|
-
Requires-Dist: pydantic_core==2.27.2
|
|
50
|
-
Requires-Dist: Pygments==2.19.1
|
|
51
|
-
Requires-Dist: PyJWT==2.10.1
|
|
52
|
-
Requires-Dist: pytest==8.3.4
|
|
53
|
-
Requires-Dist: python-dotenv==1.0.1
|
|
54
|
-
Requires-Dist: python-engineio==4.11.2
|
|
55
|
-
Requires-Dist: python-multipart==0.0.20
|
|
56
|
-
Requires-Dist: python-socketio==5.12.1
|
|
57
|
-
Requires-Dist: PyYAML==6.0.2
|
|
58
|
-
Requires-Dist: rich==13.9.4
|
|
59
|
-
Requires-Dist: rich-toolkit==0.13.2
|
|
60
|
-
Requires-Dist: setuptools==75.8.0
|
|
61
|
-
Requires-Dist: shellingham==1.5.4
|
|
62
|
-
Requires-Dist: simple-websocket==1.1.0
|
|
63
|
-
Requires-Dist: sniffio==1.3.1
|
|
64
|
-
Requires-Dist: SQLAlchemy==2.0.37
|
|
65
|
-
Requires-Dist: starlette==0.45.3
|
|
66
|
-
Requires-Dist: typeguard==4.4.1
|
|
67
|
-
Requires-Dist: typer==0.15.1
|
|
68
|
-
Requires-Dist: typing_extensions==4.12.2
|
|
69
|
-
Requires-Dist: uvicorn==0.34.0
|
|
70
|
-
Requires-Dist: uvloop==0.21.0
|
|
71
|
-
Requires-Dist: watchfiles==1.0.4
|
|
72
|
-
Requires-Dist: websockets==14.2
|
|
73
|
-
Requires-Dist: wsproto==1.2.0
|
|
74
|
-
Dynamic: author
|
|
75
|
-
Dynamic: author-email
|
|
76
|
-
Dynamic: classifier
|
|
77
|
-
Dynamic: requires-dist
|
|
78
|
-
Dynamic: requires-python
|
|
79
|
-
Dynamic: summary
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|