tracenest 0.1.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.
- tracenest-0.1.1/LICENSE +21 -0
- tracenest-0.1.1/PKG-INFO +272 -0
- tracenest-0.1.1/README.md +213 -0
- tracenest-0.1.1/pyproject.toml +104 -0
- tracenest-0.1.1/setup.cfg +4 -0
- tracenest-0.1.1/tests/test_fastapi_middleware.py +124 -0
- tracenest-0.1.1/tests/test_formatter.py +56 -0
- tracenest-0.1.1/tests/test_logger.py +139 -0
- tracenest-0.1.1/tests/test_retention.py +115 -0
- tracenest-0.1.1/tests/test_rotation.py +100 -0
- tracenest-0.1.1/tests/test_writer.py +144 -0
- tracenest-0.1.1/tracenest/__init__.py +9 -0
- tracenest-0.1.1/tracenest/core/__init__.py +0 -0
- tracenest-0.1.1/tracenest/core/config.py +211 -0
- tracenest-0.1.1/tracenest/core/formatter.py +271 -0
- tracenest-0.1.1/tracenest/core/retention.py +205 -0
- tracenest-0.1.1/tracenest/core/rotation.py +159 -0
- tracenest-0.1.1/tracenest/core/writer.py +180 -0
- tracenest-0.1.1/tracenest/fastapi/__init__.py +0 -0
- tracenest-0.1.1/tracenest/fastapi/middleware.py +71 -0
- tracenest-0.1.1/tracenest/logger.py +262 -0
- tracenest-0.1.1/tracenest/ui/__init__.py +0 -0
- tracenest-0.1.1/tracenest/ui/router.py +107 -0
- tracenest-0.1.1/tracenest/ui/templates/app.js +263 -0
- tracenest-0.1.1/tracenest/ui/templates/index.html +102 -0
- tracenest-0.1.1/tracenest/ui/templates/styles.css +152 -0
- tracenest-0.1.1/tracenest/utils/__init__.py +0 -0
- tracenest-0.1.1/tracenest/utils/filesystem.py +0 -0
- tracenest-0.1.1/tracenest/utils/time.py +0 -0
- tracenest-0.1.1/tracenest.egg-info/PKG-INFO +272 -0
- tracenest-0.1.1/tracenest.egg-info/SOURCES.txt +32 -0
- tracenest-0.1.1/tracenest.egg-info/dependency_links.txt +1 -0
- tracenest-0.1.1/tracenest.egg-info/requires.txt +15 -0
- tracenest-0.1.1/tracenest.egg-info/top_level.txt +1 -0
tracenest-0.1.1/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 VishwajitVM <vishwajitmall50@gmail.com>
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
tracenest-0.1.1/PKG-INFO
ADDED
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: tracenest
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: Developer-first, local-first logging infrastructure for Python applications
|
|
5
|
+
Author-email: VishwajitVM <vishwajitmall50@gmail.com>
|
|
6
|
+
License: MIT License
|
|
7
|
+
|
|
8
|
+
Copyright (c) 2026 VishwajitVM <vishwajitmall50@gmail.com>
|
|
9
|
+
|
|
10
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
+
in the Software without restriction, including without limitation the rights
|
|
13
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
+
furnished to do so, subject to the following conditions:
|
|
16
|
+
|
|
17
|
+
The above copyright notice and this permission notice shall be included in all
|
|
18
|
+
copies or substantial portions of the Software.
|
|
19
|
+
|
|
20
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
+
SOFTWARE.
|
|
27
|
+
|
|
28
|
+
Project-URL: Homepage, https://github.com/vishwajitvm/tracenest
|
|
29
|
+
Project-URL: Repository, https://github.com/vishwajitvm/tracenest
|
|
30
|
+
Project-URL: Issues, https://github.com/vishwajitvm/tracenest/issues
|
|
31
|
+
Keywords: logging,observability,logs,fastapi,developer-tools,local-first,infrastructure
|
|
32
|
+
Classifier: Development Status :: 3 - Alpha
|
|
33
|
+
Classifier: Intended Audience :: Developers
|
|
34
|
+
Classifier: Topic :: System :: Logging
|
|
35
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
36
|
+
Classifier: Programming Language :: Python :: 3
|
|
37
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
38
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
39
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
40
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
41
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
42
|
+
Classifier: Operating System :: OS Independent
|
|
43
|
+
Requires-Python: >=3.9
|
|
44
|
+
Description-Content-Type: text/markdown
|
|
45
|
+
License-File: LICENSE
|
|
46
|
+
Provides-Extra: fastapi
|
|
47
|
+
Requires-Dist: fastapi>=0.100.0; extra == "fastapi"
|
|
48
|
+
Provides-Extra: dev
|
|
49
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
50
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
|
51
|
+
Requires-Dist: ruff; extra == "dev"
|
|
52
|
+
Requires-Dist: black; extra == "dev"
|
|
53
|
+
Requires-Dist: mypy; extra == "dev"
|
|
54
|
+
Requires-Dist: uvicorn[standard]; extra == "dev"
|
|
55
|
+
Provides-Extra: docs
|
|
56
|
+
Requires-Dist: mkdocs; extra == "docs"
|
|
57
|
+
Requires-Dist: mkdocs-material; extra == "docs"
|
|
58
|
+
Dynamic: license-file
|
|
59
|
+
|
|
60
|
+
# TraceNest
|
|
61
|
+
|
|
62
|
+
TraceNest is a **developer-first, local-first logging SDK for Python applications** designed to remove the operational burden of log management from developers.
|
|
63
|
+
|
|
64
|
+
You focus on building features.
|
|
65
|
+
TraceNest takes care of logging.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## What is TraceNest?
|
|
70
|
+
|
|
71
|
+
TraceNest is not just a logger.
|
|
72
|
+
It is a **logging infrastructure layer** embedded directly into your application.
|
|
73
|
+
|
|
74
|
+
It automatically:
|
|
75
|
+
- Creates and manages log files
|
|
76
|
+
- Rotates logs safely
|
|
77
|
+
- Enforces retention limits
|
|
78
|
+
- Provides a built-in UI to view logs
|
|
79
|
+
- Integrates seamlessly with FastAPI
|
|
80
|
+
- Works out of the box with zero configuration
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Why TraceNest Exists
|
|
85
|
+
|
|
86
|
+
Traditional logging requires developers to:
|
|
87
|
+
- Configure log handlers
|
|
88
|
+
- Manage file rotation
|
|
89
|
+
- Clean up old logs
|
|
90
|
+
- Build tools to inspect logs
|
|
91
|
+
|
|
92
|
+
TraceNest eliminates this complexity by handling **the entire log lifecycle automatically**.
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Key Features
|
|
97
|
+
|
|
98
|
+
- Zero-configuration setup
|
|
99
|
+
- Automatic `TraceNestLogs/` folder creation
|
|
100
|
+
- Day-wise or single-file logging modes
|
|
101
|
+
- Strict size and retention enforcement
|
|
102
|
+
- Built-in UI served from the application
|
|
103
|
+
- Structured, metadata-rich logs
|
|
104
|
+
- Native FastAPI middleware
|
|
105
|
+
- Safe, non-blocking design
|
|
106
|
+
- Free and easy to integrate
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Installation
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
pip install tracenest
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Quick Usage
|
|
119
|
+
|
|
120
|
+
```python
|
|
121
|
+
from tracenest import logger
|
|
122
|
+
|
|
123
|
+
logger.info("Application started")
|
|
124
|
+
logger.error("Payment failed", order_id=123)
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Logs are immediately written to:
|
|
128
|
+
|
|
129
|
+
```text
|
|
130
|
+
TraceNestLogs/
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
No configuration required.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Log Storage
|
|
138
|
+
|
|
139
|
+
By default, TraceNest stores logs locally inside the project root:
|
|
140
|
+
|
|
141
|
+
```text
|
|
142
|
+
TraceNestLogs/
|
|
143
|
+
├── 2026-01-10.log
|
|
144
|
+
├── 2026-01-11.log
|
|
145
|
+
└── archive/
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Default Behavior
|
|
149
|
+
|
|
150
|
+
- One log file per day
|
|
151
|
+
- Maximum 25–30 MB per day
|
|
152
|
+
- Retention up to 60 days
|
|
153
|
+
- Old logs deleted automatically
|
|
154
|
+
|
|
155
|
+
A single-file mode is also available for smaller projects.
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Built-In UI
|
|
160
|
+
|
|
161
|
+
When used with FastAPI, TraceNest exposes a local UI automatically:
|
|
162
|
+
|
|
163
|
+
```text
|
|
164
|
+
http://localhost:8000/tracenest
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### UI Features
|
|
168
|
+
|
|
169
|
+
- Live log streaming
|
|
170
|
+
- Search and filtering
|
|
171
|
+
- Date-based navigation
|
|
172
|
+
- Download logs
|
|
173
|
+
- Clear logs
|
|
174
|
+
- Theme selection
|
|
175
|
+
|
|
176
|
+
### Available Themes
|
|
177
|
+
|
|
178
|
+
- Light
|
|
179
|
+
- Dark
|
|
180
|
+
- Blue-Dark
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## FastAPI Integration
|
|
185
|
+
|
|
186
|
+
TraceNest provides native FastAPI middleware for automatic request logging.
|
|
187
|
+
|
|
188
|
+
```python
|
|
189
|
+
from tracenest.fastapi import TraceNestMiddleware
|
|
190
|
+
|
|
191
|
+
app.add_middleware(TraceNestMiddleware)
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Automatically logs:
|
|
195
|
+
- Incoming requests
|
|
196
|
+
- Response status codes
|
|
197
|
+
- Request duration
|
|
198
|
+
- Unhandled exceptions
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Safety and Performance
|
|
203
|
+
|
|
204
|
+
TraceNest is designed to be production-safe.
|
|
205
|
+
|
|
206
|
+
- Never blocks application execution
|
|
207
|
+
- Uses buffered I/O
|
|
208
|
+
- Minimal memory footprint
|
|
209
|
+
- Graceful fallback on failure
|
|
210
|
+
- Works inside Docker and containers
|
|
211
|
+
|
|
212
|
+
TraceNest will **never crash your application**.
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Documentation
|
|
217
|
+
|
|
218
|
+
Detailed documentation is available in the `docs/` folder:
|
|
219
|
+
|
|
220
|
+
- Introduction & philosophy
|
|
221
|
+
- Quick start
|
|
222
|
+
- Logging guidelines
|
|
223
|
+
- Configuration
|
|
224
|
+
- Storage & retention
|
|
225
|
+
- UI usage
|
|
226
|
+
- FastAPI integration
|
|
227
|
+
- Performance guarantees
|
|
228
|
+
- Version history
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Versioning
|
|
233
|
+
|
|
234
|
+
TraceNest follows semantic versioning.
|
|
235
|
+
|
|
236
|
+
### Current Version: `0.1.0`
|
|
237
|
+
|
|
238
|
+
Includes:
|
|
239
|
+
- Core logging API
|
|
240
|
+
- Automatic folder creation
|
|
241
|
+
- Day-wise and single-file logging
|
|
242
|
+
- Retention enforcement
|
|
243
|
+
- Built-in UI
|
|
244
|
+
- FastAPI middleware
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Philosophy
|
|
249
|
+
|
|
250
|
+
TraceNest is built on three principles:
|
|
251
|
+
|
|
252
|
+
1. Zero friction for developers
|
|
253
|
+
2. Full transparency of logs
|
|
254
|
+
3. Production-grade safety by default
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## Author & Maintainer
|
|
259
|
+
|
|
260
|
+
**VishwajitVM**
|
|
261
|
+
|
|
262
|
+
- 📍 New Delhi, India
|
|
263
|
+
- 🐙 GitHub: https://github.com/vishwajitvm
|
|
264
|
+
- ✉️ Email: vishwajitmall50@gmail.com
|
|
265
|
+
|
|
266
|
+
TraceNest is actively maintained with a strong focus on real-world production use cases, developer experience, and long-term scalability.
|
|
267
|
+
|
|
268
|
+
---
|
|
269
|
+
|
|
270
|
+
## License
|
|
271
|
+
|
|
272
|
+
TraceNest SDK is free to use and distributed under an open-source license.
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
# TraceNest
|
|
2
|
+
|
|
3
|
+
TraceNest is a **developer-first, local-first logging SDK for Python applications** designed to remove the operational burden of log management from developers.
|
|
4
|
+
|
|
5
|
+
You focus on building features.
|
|
6
|
+
TraceNest takes care of logging.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## What is TraceNest?
|
|
11
|
+
|
|
12
|
+
TraceNest is not just a logger.
|
|
13
|
+
It is a **logging infrastructure layer** embedded directly into your application.
|
|
14
|
+
|
|
15
|
+
It automatically:
|
|
16
|
+
- Creates and manages log files
|
|
17
|
+
- Rotates logs safely
|
|
18
|
+
- Enforces retention limits
|
|
19
|
+
- Provides a built-in UI to view logs
|
|
20
|
+
- Integrates seamlessly with FastAPI
|
|
21
|
+
- Works out of the box with zero configuration
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Why TraceNest Exists
|
|
26
|
+
|
|
27
|
+
Traditional logging requires developers to:
|
|
28
|
+
- Configure log handlers
|
|
29
|
+
- Manage file rotation
|
|
30
|
+
- Clean up old logs
|
|
31
|
+
- Build tools to inspect logs
|
|
32
|
+
|
|
33
|
+
TraceNest eliminates this complexity by handling **the entire log lifecycle automatically**.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Key Features
|
|
38
|
+
|
|
39
|
+
- Zero-configuration setup
|
|
40
|
+
- Automatic `TraceNestLogs/` folder creation
|
|
41
|
+
- Day-wise or single-file logging modes
|
|
42
|
+
- Strict size and retention enforcement
|
|
43
|
+
- Built-in UI served from the application
|
|
44
|
+
- Structured, metadata-rich logs
|
|
45
|
+
- Native FastAPI middleware
|
|
46
|
+
- Safe, non-blocking design
|
|
47
|
+
- Free and easy to integrate
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Installation
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
pip install tracenest
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Quick Usage
|
|
60
|
+
|
|
61
|
+
```python
|
|
62
|
+
from tracenest import logger
|
|
63
|
+
|
|
64
|
+
logger.info("Application started")
|
|
65
|
+
logger.error("Payment failed", order_id=123)
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Logs are immediately written to:
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
TraceNestLogs/
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
No configuration required.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Log Storage
|
|
79
|
+
|
|
80
|
+
By default, TraceNest stores logs locally inside the project root:
|
|
81
|
+
|
|
82
|
+
```text
|
|
83
|
+
TraceNestLogs/
|
|
84
|
+
├── 2026-01-10.log
|
|
85
|
+
├── 2026-01-11.log
|
|
86
|
+
└── archive/
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Default Behavior
|
|
90
|
+
|
|
91
|
+
- One log file per day
|
|
92
|
+
- Maximum 25–30 MB per day
|
|
93
|
+
- Retention up to 60 days
|
|
94
|
+
- Old logs deleted automatically
|
|
95
|
+
|
|
96
|
+
A single-file mode is also available for smaller projects.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Built-In UI
|
|
101
|
+
|
|
102
|
+
When used with FastAPI, TraceNest exposes a local UI automatically:
|
|
103
|
+
|
|
104
|
+
```text
|
|
105
|
+
http://localhost:8000/tracenest
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### UI Features
|
|
109
|
+
|
|
110
|
+
- Live log streaming
|
|
111
|
+
- Search and filtering
|
|
112
|
+
- Date-based navigation
|
|
113
|
+
- Download logs
|
|
114
|
+
- Clear logs
|
|
115
|
+
- Theme selection
|
|
116
|
+
|
|
117
|
+
### Available Themes
|
|
118
|
+
|
|
119
|
+
- Light
|
|
120
|
+
- Dark
|
|
121
|
+
- Blue-Dark
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## FastAPI Integration
|
|
126
|
+
|
|
127
|
+
TraceNest provides native FastAPI middleware for automatic request logging.
|
|
128
|
+
|
|
129
|
+
```python
|
|
130
|
+
from tracenest.fastapi import TraceNestMiddleware
|
|
131
|
+
|
|
132
|
+
app.add_middleware(TraceNestMiddleware)
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Automatically logs:
|
|
136
|
+
- Incoming requests
|
|
137
|
+
- Response status codes
|
|
138
|
+
- Request duration
|
|
139
|
+
- Unhandled exceptions
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Safety and Performance
|
|
144
|
+
|
|
145
|
+
TraceNest is designed to be production-safe.
|
|
146
|
+
|
|
147
|
+
- Never blocks application execution
|
|
148
|
+
- Uses buffered I/O
|
|
149
|
+
- Minimal memory footprint
|
|
150
|
+
- Graceful fallback on failure
|
|
151
|
+
- Works inside Docker and containers
|
|
152
|
+
|
|
153
|
+
TraceNest will **never crash your application**.
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Documentation
|
|
158
|
+
|
|
159
|
+
Detailed documentation is available in the `docs/` folder:
|
|
160
|
+
|
|
161
|
+
- Introduction & philosophy
|
|
162
|
+
- Quick start
|
|
163
|
+
- Logging guidelines
|
|
164
|
+
- Configuration
|
|
165
|
+
- Storage & retention
|
|
166
|
+
- UI usage
|
|
167
|
+
- FastAPI integration
|
|
168
|
+
- Performance guarantees
|
|
169
|
+
- Version history
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Versioning
|
|
174
|
+
|
|
175
|
+
TraceNest follows semantic versioning.
|
|
176
|
+
|
|
177
|
+
### Current Version: `0.1.0`
|
|
178
|
+
|
|
179
|
+
Includes:
|
|
180
|
+
- Core logging API
|
|
181
|
+
- Automatic folder creation
|
|
182
|
+
- Day-wise and single-file logging
|
|
183
|
+
- Retention enforcement
|
|
184
|
+
- Built-in UI
|
|
185
|
+
- FastAPI middleware
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Philosophy
|
|
190
|
+
|
|
191
|
+
TraceNest is built on three principles:
|
|
192
|
+
|
|
193
|
+
1. Zero friction for developers
|
|
194
|
+
2. Full transparency of logs
|
|
195
|
+
3. Production-grade safety by default
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Author & Maintainer
|
|
200
|
+
|
|
201
|
+
**VishwajitVM**
|
|
202
|
+
|
|
203
|
+
- 📍 New Delhi, India
|
|
204
|
+
- 🐙 GitHub: https://github.com/vishwajitvm
|
|
205
|
+
- ✉️ Email: vishwajitmall50@gmail.com
|
|
206
|
+
|
|
207
|
+
TraceNest is actively maintained with a strong focus on real-world production use cases, developer experience, and long-term scalability.
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## License
|
|
212
|
+
|
|
213
|
+
TraceNest SDK is free to use and distributed under an open-source license.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
[project]
|
|
7
|
+
name = "tracenest"
|
|
8
|
+
version = "0.1.1"
|
|
9
|
+
description = "Developer-first, local-first logging infrastructure for Python applications"
|
|
10
|
+
readme = { file = "README.md", content-type = "text/markdown" }
|
|
11
|
+
license = { file = "LICENSE" }
|
|
12
|
+
requires-python = ">=3.9"
|
|
13
|
+
|
|
14
|
+
authors = [
|
|
15
|
+
{ name = "VishwajitVM", email = "vishwajitmall50@gmail.com" }
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
keywords = [
|
|
19
|
+
"logging",
|
|
20
|
+
"observability",
|
|
21
|
+
"logs",
|
|
22
|
+
"fastapi",
|
|
23
|
+
"developer-tools",
|
|
24
|
+
"local-first",
|
|
25
|
+
"infrastructure"
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
classifiers = [
|
|
29
|
+
"Development Status :: 3 - Alpha",
|
|
30
|
+
"Intended Audience :: Developers",
|
|
31
|
+
"Topic :: System :: Logging",
|
|
32
|
+
"License :: OSI Approved :: MIT License",
|
|
33
|
+
"Programming Language :: Python :: 3",
|
|
34
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
35
|
+
"Programming Language :: Python :: 3.9",
|
|
36
|
+
"Programming Language :: Python :: 3.10",
|
|
37
|
+
"Programming Language :: Python :: 3.11",
|
|
38
|
+
"Programming Language :: Python :: 3.12",
|
|
39
|
+
"Operating System :: OS Independent"
|
|
40
|
+
]
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
[project.optional-dependencies]
|
|
44
|
+
fastapi = [
|
|
45
|
+
"fastapi>=0.100.0"
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
dev = [
|
|
49
|
+
"pytest>=7.0",
|
|
50
|
+
"pytest-cov",
|
|
51
|
+
"ruff",
|
|
52
|
+
"black",
|
|
53
|
+
"mypy",
|
|
54
|
+
"uvicorn[standard]"
|
|
55
|
+
]
|
|
56
|
+
|
|
57
|
+
docs = [
|
|
58
|
+
"mkdocs",
|
|
59
|
+
"mkdocs-material"
|
|
60
|
+
]
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
[project.urls]
|
|
64
|
+
Homepage = "https://github.com/vishwajitvm/tracenest"
|
|
65
|
+
Repository = "https://github.com/vishwajitvm/tracenest"
|
|
66
|
+
Issues = "https://github.com/vishwajitvm/tracenest/issues"
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
[tool.setuptools]
|
|
70
|
+
include-package-data = true
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
[tool.setuptools.packages.find]
|
|
74
|
+
where = ["."]
|
|
75
|
+
include = ["tracenest*"]
|
|
76
|
+
exclude = ["tests*", "docs*", "examples*"]
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
[tool.setuptools.package-data]
|
|
80
|
+
tracenest = [
|
|
81
|
+
"ui/templates/*.html",
|
|
82
|
+
"ui/templates/*.js",
|
|
83
|
+
"ui/templates/*.css"
|
|
84
|
+
]
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
[tool.black]
|
|
88
|
+
line-length = 88
|
|
89
|
+
target-version = ["py39"]
|
|
90
|
+
|
|
91
|
+
[tool.ruff]
|
|
92
|
+
line-length = 88
|
|
93
|
+
select = ["E", "F", "I"]
|
|
94
|
+
ignore = ["E501"]
|
|
95
|
+
|
|
96
|
+
[tool.mypy]
|
|
97
|
+
python_version = "3.9"
|
|
98
|
+
strict = true
|
|
99
|
+
ignore_missing_imports = true
|
|
100
|
+
|
|
101
|
+
[tool.pytest.ini_options]
|
|
102
|
+
minversion = "7.0"
|
|
103
|
+
addopts = "-ra -q"
|
|
104
|
+
testpaths = ["tests"]
|