python-flask-dev 0.0.1__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.
@@ -0,0 +1,201 @@
1
+ Metadata-Version: 2.4
2
+ Name: python-flask-dev
3
+ Version: 0.0.1
4
+ Summary: Package containing modules with 'helper' functions to support the development of Python Flask applications.
5
+ Author-email: Dani <daniasestan@gmail.com>
6
+ License-Expression: MIT
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: Operating System :: POSIX :: Linux
9
+ Classifier: Framework :: Flask
10
+ Requires-Python: >=3.12.3
11
+ Description-Content-Type: text/markdown
12
+ Requires-Dist: Flask==3.1.2
13
+ Requires-Dist: numpy==2.4.2
14
+ Requires-Dist: pandas==3.0.1
15
+ Requires-Dist: build==1.4.0
16
+ Requires-Dist: twine==6.2.0
17
+
18
+ ## Python Flask Dev
19
+
20
+ ## Table of contents
21
+
22
+ 1. Project description
23
+ 2. Project setup
24
+ 3. Contributing guidelines
25
+ 4. Project documentation
26
+ 5. Links to support resources
27
+ 6. Terms of use
28
+
29
+ ## Project description
30
+
31
+ ### What kind of software is this?
32
+
33
+ Package containing modules with 'helper' functions to support the development of Python Flask applications.
34
+
35
+ __________________
36
+
37
+ ### Who can use this app?
38
+
39
+ Python Flask App Developer
40
+
41
+ __________________
42
+
43
+ ### Project overview
44
+
45
+ Language(s): [Python](https://www.python.org/)
46
+
47
+ Framework(s): [Python Flask Framework](https://flask.palletsprojects.com/en/stable/)
48
+
49
+ Style guide(s):
50
+ [Python PEP 8](https://www.python.org/dev/peps/pep-0008)
51
+
52
+ ## Project setup
53
+
54
+ ### Pre-requisites
55
+
56
+ Before using {Project name}, install necessary pkgs:
57
+
58
+ * [PKG_NAME](https://www.python.org/downloads/)
59
+ * [...]
60
+
61
+ ### Requirements
62
+
63
+ GitHub will automatically not push any tokens.
64
+
65
+ However, to commit any changes the .gitignore file must include any files that contain credentials.
66
+
67
+ If the Markdown Changelog Generator is used, it needs to include 'changelog_generator.toml' because it lists your GitHub repo's PAT (Personal Access Token).
68
+
69
+ #### Install Python Flask Dev
70
+
71
+ 1. {Write the step here.}
72
+
73
+ {Explanatory text here}
74
+
75
+ {Optional: Include a code sample or screenshot that helps your users complete this step}
76
+
77
+ 2. {Write the step here.}
78
+
79
+ a. {Substep 1}
80
+
81
+ b. {Substep 2}
82
+
83
+ #### Configure Python Flask Dev
84
+
85
+ 1. {Write the step here.}
86
+ 2. {Write the step here.}
87
+
88
+ #### Run Python Flask Dev
89
+
90
+ 1. {Write the step here.}
91
+ 2. {Write the step here.}
92
+
93
+ #### Troubleshoot Python Flask Dev
94
+
95
+ 1. {Write the step here.}
96
+ 2. {Write the step here.}
97
+
98
+ <table>
99
+ <tr>
100
+ <td>
101
+ Issue
102
+ </td>
103
+ <td>
104
+ Solution
105
+ </td>
106
+ </tr>
107
+ <tr>
108
+ <td>
109
+ {Describe the issue here}
110
+ </td>
111
+ <td>
112
+ {Write solution here}
113
+ </td>
114
+ </tr>
115
+ <tr>
116
+ <td>
117
+ {Describe the issue here}
118
+ </td>
119
+ <td>
120
+ {Write solution here}
121
+ </td>
122
+ </tr>
123
+ <tr>
124
+ <td>
125
+ {Describe the issue here}
126
+ </td>
127
+ <td>
128
+ {Write solution here}
129
+ </td>
130
+ </tr>
131
+ </table>
132
+
133
+ Other troubleshooting support:
134
+
135
+ * {Link to FAQs}
136
+ * {Link to runbooks}
137
+ * {Link to other relevant support information}
138
+
139
+ ### Recommendations
140
+
141
+ * When working through a smaller project such as a program or a software application, a Changelog is recommended.
142
+
143
+ Changelog entries typically follow a basic format that includes information about the code that was added to enhance a project, removed for any purpose, and modified to resolve errors.
144
+
145
+ Changelog entries are entered in the CHANGELOG file once code is committed to the main branch:
146
+
147
+ ### [VERSION #] - [TIMESTAMP]
148
+
149
+ #### [ADDED || REMOVED || FIXED]
150
+
151
+ \<DESCRIPTION\>
152
+
153
+ ___
154
+
155
+ ### Version Control Process
156
+ I. **Create a Feature Branch**
157
+ Any code updates for a version change -- [Major].[Minor].[Patch] -- should be on a separate branch, referred to as a 'feature' branch.
158
+
159
+ Once work on the branch is completed, a pull-request can be created to merge the branch into `dev`, a staging/pre-release branch, where those changes are tested.
160
+
161
+ Once the staging branch is tested, stable code can be merged into `main` a production/release branch.
162
+
163
+ ________________
164
+ ##### Maintaining repos
165
+
166
+ ###### Branch Naming Conventions
167
+
168
+ `<VERSION-RELEASE-#>/<FEATURE_NAME>/<CONTRIBUTOR>`
169
+
170
+ - `<VERSION-RELEASE-#>`: Refer to [SemVer](https://semver.org/) for details
171
+
172
+ - `<FEATURE_NAME>`: Descriptive title for the feature
173
+
174
+ - `<CONTRIBUTOR>`: GitHub account name, e.g., https://github.com/<NAME>
175
+
176
+ IV. **Documenting changes**
177
+
178
+ Maintaining a CHANGELOG file is always recommended for a quick overview of how the project is progressing.
179
+ 1. Checkout main locally.
180
+ 2. From a terminal session, run the commands to use the GitHub ChangeLog Generator.
181
+ 3. Commit the CHANGELOG file to the remote branch.
182
+
183
+ `changelog-generator-md`
184
+
185
+ ## Project documentation
186
+
187
+ ### Standard project docs are located in the `{PROJECT_ROOT}` folder.
188
+
189
+ - README
190
+ - LICENSE
191
+ - CHANGELOG
192
+ - Refer to the Project dependencies section of the README for more information on generating a CHANGELOG file
193
+
194
+ ## Links
195
+
196
+ * [<LINK>](<URL>): <LINK_DESC>
197
+ * [...]
198
+
199
+ ## Terms of use
200
+
201
+ Python Flask Dev is licensed under [MIT](https://commons.wikimedia.org/wiki/Template:X11)
@@ -0,0 +1,184 @@
1
+ ## Python Flask Dev
2
+
3
+ ## Table of contents
4
+
5
+ 1. Project description
6
+ 2. Project setup
7
+ 3. Contributing guidelines
8
+ 4. Project documentation
9
+ 5. Links to support resources
10
+ 6. Terms of use
11
+
12
+ ## Project description
13
+
14
+ ### What kind of software is this?
15
+
16
+ Package containing modules with 'helper' functions to support the development of Python Flask applications.
17
+
18
+ __________________
19
+
20
+ ### Who can use this app?
21
+
22
+ Python Flask App Developer
23
+
24
+ __________________
25
+
26
+ ### Project overview
27
+
28
+ Language(s): [Python](https://www.python.org/)
29
+
30
+ Framework(s): [Python Flask Framework](https://flask.palletsprojects.com/en/stable/)
31
+
32
+ Style guide(s):
33
+ [Python PEP 8](https://www.python.org/dev/peps/pep-0008)
34
+
35
+ ## Project setup
36
+
37
+ ### Pre-requisites
38
+
39
+ Before using {Project name}, install necessary pkgs:
40
+
41
+ * [PKG_NAME](https://www.python.org/downloads/)
42
+ * [...]
43
+
44
+ ### Requirements
45
+
46
+ GitHub will automatically not push any tokens.
47
+
48
+ However, to commit any changes the .gitignore file must include any files that contain credentials.
49
+
50
+ If the Markdown Changelog Generator is used, it needs to include 'changelog_generator.toml' because it lists your GitHub repo's PAT (Personal Access Token).
51
+
52
+ #### Install Python Flask Dev
53
+
54
+ 1. {Write the step here.}
55
+
56
+ {Explanatory text here}
57
+
58
+ {Optional: Include a code sample or screenshot that helps your users complete this step}
59
+
60
+ 2. {Write the step here.}
61
+
62
+ a. {Substep 1}
63
+
64
+ b. {Substep 2}
65
+
66
+ #### Configure Python Flask Dev
67
+
68
+ 1. {Write the step here.}
69
+ 2. {Write the step here.}
70
+
71
+ #### Run Python Flask Dev
72
+
73
+ 1. {Write the step here.}
74
+ 2. {Write the step here.}
75
+
76
+ #### Troubleshoot Python Flask Dev
77
+
78
+ 1. {Write the step here.}
79
+ 2. {Write the step here.}
80
+
81
+ <table>
82
+ <tr>
83
+ <td>
84
+ Issue
85
+ </td>
86
+ <td>
87
+ Solution
88
+ </td>
89
+ </tr>
90
+ <tr>
91
+ <td>
92
+ {Describe the issue here}
93
+ </td>
94
+ <td>
95
+ {Write solution here}
96
+ </td>
97
+ </tr>
98
+ <tr>
99
+ <td>
100
+ {Describe the issue here}
101
+ </td>
102
+ <td>
103
+ {Write solution here}
104
+ </td>
105
+ </tr>
106
+ <tr>
107
+ <td>
108
+ {Describe the issue here}
109
+ </td>
110
+ <td>
111
+ {Write solution here}
112
+ </td>
113
+ </tr>
114
+ </table>
115
+
116
+ Other troubleshooting support:
117
+
118
+ * {Link to FAQs}
119
+ * {Link to runbooks}
120
+ * {Link to other relevant support information}
121
+
122
+ ### Recommendations
123
+
124
+ * When working through a smaller project such as a program or a software application, a Changelog is recommended.
125
+
126
+ Changelog entries typically follow a basic format that includes information about the code that was added to enhance a project, removed for any purpose, and modified to resolve errors.
127
+
128
+ Changelog entries are entered in the CHANGELOG file once code is committed to the main branch:
129
+
130
+ ### [VERSION #] - [TIMESTAMP]
131
+
132
+ #### [ADDED || REMOVED || FIXED]
133
+
134
+ \<DESCRIPTION\>
135
+
136
+ ___
137
+
138
+ ### Version Control Process
139
+ I. **Create a Feature Branch**
140
+ Any code updates for a version change -- [Major].[Minor].[Patch] -- should be on a separate branch, referred to as a 'feature' branch.
141
+
142
+ Once work on the branch is completed, a pull-request can be created to merge the branch into `dev`, a staging/pre-release branch, where those changes are tested.
143
+
144
+ Once the staging branch is tested, stable code can be merged into `main` a production/release branch.
145
+
146
+ ________________
147
+ ##### Maintaining repos
148
+
149
+ ###### Branch Naming Conventions
150
+
151
+ `<VERSION-RELEASE-#>/<FEATURE_NAME>/<CONTRIBUTOR>`
152
+
153
+ - `<VERSION-RELEASE-#>`: Refer to [SemVer](https://semver.org/) for details
154
+
155
+ - `<FEATURE_NAME>`: Descriptive title for the feature
156
+
157
+ - `<CONTRIBUTOR>`: GitHub account name, e.g., https://github.com/<NAME>
158
+
159
+ IV. **Documenting changes**
160
+
161
+ Maintaining a CHANGELOG file is always recommended for a quick overview of how the project is progressing.
162
+ 1. Checkout main locally.
163
+ 2. From a terminal session, run the commands to use the GitHub ChangeLog Generator.
164
+ 3. Commit the CHANGELOG file to the remote branch.
165
+
166
+ `changelog-generator-md`
167
+
168
+ ## Project documentation
169
+
170
+ ### Standard project docs are located in the `{PROJECT_ROOT}` folder.
171
+
172
+ - README
173
+ - LICENSE
174
+ - CHANGELOG
175
+ - Refer to the Project dependencies section of the README for more information on generating a CHANGELOG file
176
+
177
+ ## Links
178
+
179
+ * [<LINK>](<URL>): <LINK_DESC>
180
+ * [...]
181
+
182
+ ## Terms of use
183
+
184
+ Python Flask Dev is licensed under [MIT](https://commons.wikimedia.org/wiki/Template:X11)
@@ -0,0 +1,35 @@
1
+ [project]
2
+ name = "python-flask-dev"
3
+ version = "0.0.1"
4
+ authors = [
5
+ { name = "Dani", email = "daniasestan@gmail.com" },
6
+ ]
7
+ description = "Package containing modules with 'helper' functions to support the development of Python Flask applications."
8
+ readme = "README.md"
9
+ requires-python = ">=3.12.3"
10
+ classifiers = [
11
+ "Programming Language :: Python :: 3",
12
+ "Operating System :: POSIX :: Linux",
13
+ "Framework :: Flask",
14
+ ]
15
+ license = "MIT"
16
+ license-files = [
17
+ "LICEN[CS]E*",
18
+ ]
19
+ dependencies = [
20
+ "Flask==3.1.2",
21
+ "numpy==2.4.2",
22
+ "pandas==3.0.1",
23
+ "build==1.4.0",
24
+ "twine==6.2.0",
25
+ ]
26
+ dynamic = []
27
+
28
+ [build-system]
29
+ requires = [
30
+ "setuptools >= 77.0.3",
31
+ ]
32
+ build-backend = "setuptools.build_meta"
33
+
34
+ [tool.setuptools.package-dir]
35
+ "" = "src"
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
File without changes
@@ -0,0 +1,246 @@
1
+ from flask import Flask
2
+ from python_flask_dev.formatting_data import get_filtered_key_vals
3
+ # from data.users import get_users
4
+ app = Flask(__name__)
5
+
6
+ # sample_data = get_users()
7
+ sample_data = [
8
+ {
9
+ "id": 1,
10
+ "name": "Leanne Graham",
11
+ "username": "Bret",
12
+ "email": "Sincere@april.biz",
13
+ "address": {
14
+ "street": "Kulas Light",
15
+ "suite": "Apt. 556",
16
+ "city": "Gwenborough",
17
+ "zipcode": "92998-3874",
18
+ "geo": {
19
+ "lat": "-37.3159",
20
+ "lng": "81.1496"
21
+ }
22
+ },
23
+ "phone": "1-770-736-8031 x56442",
24
+ "website": "hildegard.org",
25
+ "company": {
26
+ "name": "Romaguera-Crona",
27
+ "catchPhrase": "Multi-layered client-server neural-net",
28
+ "bs": "harness real-time e-markets"
29
+ }
30
+ },
31
+ {
32
+ "id": 2,
33
+ "name": "Ervin Howell",
34
+ "username": "Antonette",
35
+ "email": "Shanna@melissa.tv",
36
+ "address": {
37
+ "street": "Victor Plains",
38
+ "suite": "Suite 879",
39
+ "city": "Wisokyburgh",
40
+ "zipcode": "90566-7771",
41
+ "geo": {
42
+ "lat": "-43.9509",
43
+ "lng": "-34.4618"
44
+ }
45
+ },
46
+ "phone": "010-692-6593 x09125",
47
+ "website": "anastasia.net",
48
+ "company": {
49
+ "name": "Deckow-Crist",
50
+ "catchPhrase": "Proactive didactic contingency",
51
+ "bs": "synergize scalable supply-chains"
52
+ }
53
+ },
54
+ {
55
+ "id": 3,
56
+ "name": "Clementine Bauch",
57
+ "username": "Samantha",
58
+ "email": "Nathan@yesenia.net",
59
+ "address": {
60
+ "street": "Douglas Extension",
61
+ "suite": "Suite 847",
62
+ "city": "McKenziehaven",
63
+ "zipcode": "59590-4157",
64
+ "geo": {
65
+ "lat": "-68.6102",
66
+ "lng": "-47.0653"
67
+ }
68
+ },
69
+ "phone": "1-463-123-4447",
70
+ "website": "ramiro.info",
71
+ "company": {
72
+ "name": "Romaguera-Jacobson",
73
+ "catchPhrase": "Face to face bifurcated interface",
74
+ "bs": "e-enable strategic applications"
75
+ }
76
+ },
77
+ {
78
+ "id": 4,
79
+ "name": "Patricia Lebsack",
80
+ "username": "Karianne",
81
+ "email": "Julianne.OConner@kory.org",
82
+ "address": {
83
+ "street": "Hoeger Mall",
84
+ "suite": "Apt. 692",
85
+ "city": "South Elvis",
86
+ "zipcode": "53919-4257",
87
+ "geo": {
88
+ "lat": "29.4572",
89
+ "lng": "-164.2990"
90
+ }
91
+ },
92
+ "phone": "493-170-9623 x156",
93
+ "website": "kale.biz",
94
+ "company": {
95
+ "name": "Robel-Corkery",
96
+ "catchPhrase": "Multi-tiered zero tolerance productivity",
97
+ "bs": "transition cutting-edge web services"
98
+ }
99
+ },
100
+ {
101
+ "id": 5,
102
+ "name": "Chelsey Dietrich",
103
+ "username": "Kamren",
104
+ "email": "Lucio_Hettinger@annie.ca",
105
+ "address": {
106
+ "street": "Skiles Walks",
107
+ "suite": "Suite 351",
108
+ "city": "Roscoeview",
109
+ "zipcode": "33263",
110
+ "geo": {
111
+ "lat": "-31.8129",
112
+ "lng": "62.5342"
113
+ }
114
+ },
115
+ "phone": "(254)954-1289",
116
+ "website": "demarco.info",
117
+ "company": {
118
+ "name": "Keebler LLC",
119
+ "catchPhrase": "User-centric fault-tolerant solution",
120
+ "bs": "revolutionize end-to-end systems"
121
+ }
122
+ },
123
+ {
124
+ "id": 6,
125
+ "name": "Mrs. Dennis Schulist",
126
+ "username": "Leopoldo_Corkery",
127
+ "email": "Karley_Dach@jasper.info",
128
+ "address": {
129
+ "street": "Norberto Crossing",
130
+ "suite": "Apt. 950",
131
+ "city": "South Christy",
132
+ "zipcode": "23505-1337",
133
+ "geo": {
134
+ "lat": "-71.4197",
135
+ "lng": "71.7478"
136
+ }
137
+ },
138
+ "phone": "1-477-935-8478 x6430",
139
+ "website": "ola.org",
140
+ "company": {
141
+ "name": "Considine-Lockman",
142
+ "catchPhrase": "Synchronised bottom-line interface",
143
+ "bs": "e-enable innovative applications"
144
+ }
145
+ },
146
+ {
147
+ "id": 7,
148
+ "name": "Kurtis Weissnat",
149
+ "username": "Elwyn.Skiles",
150
+ "email": "Telly.Hoeger@billy.biz",
151
+ "address": {
152
+ "street": "Rex Trail",
153
+ "suite": "Suite 280",
154
+ "city": "Howemouth",
155
+ "zipcode": "58804-1099",
156
+ "geo": {
157
+ "lat": "24.8918",
158
+ "lng": "21.8984"
159
+ }
160
+ },
161
+ "phone": "210.067.6132",
162
+ "website": "elvis.io",
163
+ "company": {
164
+ "name": "Johns Group",
165
+ "catchPhrase": "Configurable multimedia task-force",
166
+ "bs": "generate enterprise e-tailers"
167
+ }
168
+ },
169
+ {
170
+ "id": 8,
171
+ "name": "Nicholas Runolfsdottir V",
172
+ "username": "Maxime_Nienow",
173
+ "email": "Sherwood@rosamond.me",
174
+ "address": {
175
+ "street": "Ellsworth Summit",
176
+ "suite": "Suite 729",
177
+ "city": "Aliyaview",
178
+ "zipcode": "45169",
179
+ "geo": {
180
+ "lat": "-14.3990",
181
+ "lng": "-120.7677"
182
+ }
183
+ },
184
+ "phone": "586.493.6943 x140",
185
+ "website": "jacynthe.com",
186
+ "company": {
187
+ "name": "Abernathy Group",
188
+ "catchPhrase": "Implemented secondary concept",
189
+ "bs": "e-enable extensible e-tailers"
190
+ }
191
+ },
192
+ {
193
+ "id": 9,
194
+ "name": "Glenna Reichert",
195
+ "username": "Delphine",
196
+ "email": "Chaim_McDermott@dana.io",
197
+ "address": {
198
+ "street": "Dayna Park",
199
+ "suite": "Suite 449",
200
+ "city": "Bartholomebury",
201
+ "zipcode": "76495-3109",
202
+ "geo": {
203
+ "lat": "24.6463",
204
+ "lng": "-168.8889"
205
+ }
206
+ },
207
+ "phone": "(775)976-6794 x41206",
208
+ "website": "conrad.com",
209
+ "company": {
210
+ "name": "Yost and Sons",
211
+ "catchPhrase": "Switchable contextually-based project",
212
+ "bs": "aggregate real-time technologies"
213
+ }
214
+ },
215
+ {
216
+ "id": 10,
217
+ "name": "Clementina DuBuque",
218
+ "username": "Moriah.Stanton",
219
+ "email": "Rey.Padberg@karina.biz",
220
+ "address": {
221
+ "street": "Kattie Turnpike",
222
+ "suite": "Suite 198",
223
+ "city": "Lebsackbury",
224
+ "zipcode": "31428-2261",
225
+ "geo": {
226
+ "lat": "-38.2386",
227
+ "lng": "57.2232"
228
+ }
229
+ },
230
+ "phone": "024-648-3804",
231
+ "website": "ambrose.net",
232
+ "company": {
233
+ "name": "Hoeger LLC",
234
+ "catchPhrase": "Centralized empowering task-force",
235
+ "bs": "target end-to-end models"
236
+ }
237
+ }
238
+ ]
239
+
240
+ @app.route('/')
241
+ def hello_world(): # put application's code here
242
+ return 'Hello World!'
243
+
244
+
245
+ if __name__ == '__main__':
246
+ app.run()
File without changes
@@ -0,0 +1,10 @@
1
+ class CustomError(Exception):
2
+ """Exception raised for custom error in the application."""
3
+ # ATT this function doesn't accept printf for the message arg; a printf string needs to be assigned to a var
4
+ def __init__(self, message, error_code):
5
+ self.message = message
6
+ self.error_code = error_code
7
+ super().__init__(message)
8
+
9
+ def __str__(self):
10
+ return f"{self.message} (Error Code: {self.error_code})"