Looking for a reliable way to extract structured data from messy PDFs ?
I’ve seen a lot of folks here looking for a clean way to parse documents (even messy or inconsistent PDFs) and extract structured data that can actually be used in production.
Thought I’d share Retab.com, a developer-first platform built to handle exactly that.
🧾 Input: Any PDF, DOCX, email, scanned file, etc.
📤 Output: Structured JSON, tables, key-value fields,.. based on your own schema
What makes it work :
\- prompt fine-tuning: You can tweak and test your extraction prompt until it’s production-ready
\- evaluation dashboard: Upload test files, iterate on accuracy, and monitor field-by-field performance
\- API-first: Just hit the API with your docs, get clean structured results
Pricing and access :
\- free plan available (no credit card)
\- paid plans start at $0.01 per credit, with a simulator on the site
Use case : invoices, CVs, contracts, RFPs, … especially when document structure is inconsistent.
Just sharing in case it helps someone, happy to answer Qs or show examples if anyone’s working on this.
/r/Python
https://redd.it/1mj459n
I’ve seen a lot of folks here looking for a clean way to parse documents (even messy or inconsistent PDFs) and extract structured data that can actually be used in production.
Thought I’d share Retab.com, a developer-first platform built to handle exactly that.
🧾 Input: Any PDF, DOCX, email, scanned file, etc.
📤 Output: Structured JSON, tables, key-value fields,.. based on your own schema
What makes it work :
\- prompt fine-tuning: You can tweak and test your extraction prompt until it’s production-ready
\- evaluation dashboard: Upload test files, iterate on accuracy, and monitor field-by-field performance
\- API-first: Just hit the API with your docs, get clean structured results
Pricing and access :
\- free plan available (no credit card)
\- paid plans start at $0.01 per credit, with a simulator on the site
Use case : invoices, CVs, contracts, RFPs, … especially when document structure is inconsistent.
Just sharing in case it helps someone, happy to answer Qs or show examples if anyone’s working on this.
/r/Python
https://redd.it/1mj459n
Retab
Retab - Ship next generation document automations
Build powerful document processing automations with just a few lines of code. Extract structured data from PDFs, images, and reports using AI-powered schema generation.
Using AI to convert Perl Power Tools to Python
I maintain a project called Perl Power Tools which was originally started in 1999 by Tom Christiansen to provide Windows the tools that Unix people expect. Although it's 26 years later, I'm still maintaining the project mostly because it's not that demanding and it's fun.
Now, Jeffery S. Haemerhas started the Python Power Tools project to automatically port those to Python. I don't have any part of that, but I'm interested in how it will work out and what won't translate well. Some of this is really old 1990s style Perl and is bad style today, especially with decades of Perl slowly improving.
/r/Python
https://redd.it/1mjanx3
I maintain a project called Perl Power Tools which was originally started in 1999 by Tom Christiansen to provide Windows the tools that Unix people expect. Although it's 26 years later, I'm still maintaining the project mostly because it's not that demanding and it's fun.
Now, Jeffery S. Haemerhas started the Python Power Tools project to automatically port those to Python. I don't have any part of that, but I'm interested in how it will work out and what won't translate well. Some of this is really old 1990s style Perl and is bad style today, especially with decades of Perl slowly improving.
/r/Python
https://redd.it/1mjanx3
GitHub
GitHub - briandfoy/PerlPowerTools: Perl Power Tools
Perl Power Tools. Contribute to briandfoy/PerlPowerTools development by creating an account on GitHub.
Thursday Daily Thread: Python Careers, Courses, and Furthering Education!
# Weekly Thread: Professional Use, Jobs, and Education 🏢
Welcome to this week's discussion on Python in the professional world! This is your spot to talk about job hunting, career growth, and educational resources in Python. Please note, this thread is not for recruitment.
---
## How it Works:
1. Career Talk: Discuss using Python in your job, or the job market for Python roles.
2. Education Q&A: Ask or answer questions about Python courses, certifications, and educational resources.
3. Workplace Chat: Share your experiences, challenges, or success stories about using Python professionally.
---
## Guidelines:
- This thread is not for recruitment. For job postings, please see r/PythonJobs or the recruitment thread in the sidebar.
- Keep discussions relevant to Python in the professional and educational context.
---
## Example Topics:
1. Career Paths: What kinds of roles are out there for Python developers?
2. Certifications: Are Python certifications worth it?
3. Course Recommendations: Any good advanced Python courses to recommend?
4. Workplace Tools: What Python libraries are indispensable in your professional work?
5. Interview Tips: What types of Python questions are commonly asked in interviews?
---
Let's help each other grow in our careers and education. Happy discussing! 🌟
/r/Python
https://redd.it/1mjkyyw
# Weekly Thread: Professional Use, Jobs, and Education 🏢
Welcome to this week's discussion on Python in the professional world! This is your spot to talk about job hunting, career growth, and educational resources in Python. Please note, this thread is not for recruitment.
---
## How it Works:
1. Career Talk: Discuss using Python in your job, or the job market for Python roles.
2. Education Q&A: Ask or answer questions about Python courses, certifications, and educational resources.
3. Workplace Chat: Share your experiences, challenges, or success stories about using Python professionally.
---
## Guidelines:
- This thread is not for recruitment. For job postings, please see r/PythonJobs or the recruitment thread in the sidebar.
- Keep discussions relevant to Python in the professional and educational context.
---
## Example Topics:
1. Career Paths: What kinds of roles are out there for Python developers?
2. Certifications: Are Python certifications worth it?
3. Course Recommendations: Any good advanced Python courses to recommend?
4. Workplace Tools: What Python libraries are indispensable in your professional work?
5. Interview Tips: What types of Python questions are commonly asked in interviews?
---
Let's help each other grow in our careers and education. Happy discussing! 🌟
/r/Python
https://redd.it/1mjkyyw
Reddit
From the Python community on Reddit
Explore this post and more from the Python community
Connecting AI Agents to Jupyter via MCP for Interactive Data Projects
https://glama.ai/blog/2025-08-07-using-mcp-with-jupyter-notebooks-agent-driven-workflow-in-python
/r/IPython
https://redd.it/1mjj3s3
https://glama.ai/blog/2025-08-07-using-mcp-with-jupyter-notebooks-agent-driven-workflow-in-python
/r/IPython
https://redd.it/1mjj3s3
Glama – MCP Hosting Platform
Discover how to integrate MCP servers with Jupyter notebooks. Learn to call notebook tools from AI agents to execute code, manage cells, and interact dynamically using Python.
Best Frontend Framework
what do you suggest is best frotnend framework libraary for DJango flask python based backend framework in web devalopment i am a devaloper but in MERN AND NEXT meaning i have only work in JS framwork for backend so what will you suggest ?
/r/djangolearning
https://redd.it/1mja974
what do you suggest is best frotnend framework libraary for DJango flask python based backend framework in web devalopment i am a devaloper but in MERN AND NEXT meaning i have only work in JS framwork for backend so what will you suggest ?
/r/djangolearning
https://redd.it/1mja974
Reddit
From the djangolearning community on Reddit
Explore this post and more from the djangolearning community
Illnesses or Conditions Among Programmers
Hey coders, I'm conducting research on the most common health issues among programmers—whether physical, psychological, or emotional—such as joint problems, eye strain, anxiety, migraines, sleep disorders, and others.
I believe it's a topic that doesn't get enough attention, and I'd really appreciate your input.
The direct question is:
Have you developed any condition as a result of spending long hours in front of a computer? What are you doing to manage it, and what advice would you give to the next generation of programmers to help them avoid it?
/r/flask
https://redd.it/1mjl3gv
Hey coders, I'm conducting research on the most common health issues among programmers—whether physical, psychological, or emotional—such as joint problems, eye strain, anxiety, migraines, sleep disorders, and others.
I believe it's a topic that doesn't get enough attention, and I'd really appreciate your input.
The direct question is:
Have you developed any condition as a result of spending long hours in front of a computer? What are you doing to manage it, and what advice would you give to the next generation of programmers to help them avoid it?
/r/flask
https://redd.it/1mjl3gv
Reddit
From the flask community on Reddit
Explore this post and more from the flask community
Bytecode for multiple Python versions
Hi all,
I would like to be able to generate the bytecode (pyc) for a given source file containing the source code for a class (let's call it Foo). I then have another source file containing the code for a second class (Foo2) that inherits from the first one (Foo).
By doing so, I can distribute the sources of the second class (Foo2) along with the bytecode of the first class (Foo). In this way the user won't have access to the code in Foo and still have access to some of the methods (overloaded) in the Foo2 class.
I do this for teaching some stuff. The goal would be that I can distribute the class Foo2 containing the prototypes of the methods that I want students to implement. Additionally the can very easily compare their results with those generated with the method of the parent class. The advantages of this is that I can hide some methods that might not be relevant for teaching purposes (reading, writing, plotting, etc) making the code easier to understand for students.
The problem is that I would have to generate the bytecode of Foo for many different python versions, so I was wondering if someone has a
/r/Python
https://redd.it/1mjw1y0
Hi all,
I would like to be able to generate the bytecode (pyc) for a given source file containing the source code for a class (let's call it Foo). I then have another source file containing the code for a second class (Foo2) that inherits from the first one (Foo).
By doing so, I can distribute the sources of the second class (Foo2) along with the bytecode of the first class (Foo). In this way the user won't have access to the code in Foo and still have access to some of the methods (overloaded) in the Foo2 class.
I do this for teaching some stuff. The goal would be that I can distribute the class Foo2 containing the prototypes of the methods that I want students to implement. Additionally the can very easily compare their results with those generated with the method of the parent class. The advantages of this is that I can hide some methods that might not be relevant for teaching purposes (reading, writing, plotting, etc) making the code easier to understand for students.
The problem is that I would have to generate the bytecode of Foo for many different python versions, so I was wondering if someone has a
/r/Python
https://redd.it/1mjw1y0
Reddit
From the Python community on Reddit: Bytecode for multiple Python versions
Explore this post and more from the Python community
What python based game engine would you recommend?
For some background info, I have been using python for school since 2024 but i'm still kinda grasping some aspects of it. For my school project, I have decided to create a video game. For context, the game is supposed to have a story aspect at first, but then after the story is completed, it is more free play. Like the player gets to walk around and interact with the world. I plan on having these world interactions being either connected to a crafting system or combat system. Currently I'm torn between using either pygame or pyglet.
Any advice on which engine I should use? Or any recommendations on a completely different game engine to use?
Just looking for some opinions!
/r/Python
https://redd.it/1mjw40b
For some background info, I have been using python for school since 2024 but i'm still kinda grasping some aspects of it. For my school project, I have decided to create a video game. For context, the game is supposed to have a story aspect at first, but then after the story is completed, it is more free play. Like the player gets to walk around and interact with the world. I plan on having these world interactions being either connected to a crafting system or combat system. Currently I'm torn between using either pygame or pyglet.
Any advice on which engine I should use? Or any recommendations on a completely different game engine to use?
Just looking for some opinions!
/r/Python
https://redd.it/1mjw40b
Reddit
From the Python community on Reddit
Explore this post and more from the Python community
Where do enterprises run analytic python code?
I work at a regional bank. We have zero python infrastructure; as in data scientists and analysts will download and install python on their local machine and run the code there.
There’s no limiting/tooling consistency, no environment expectations or dependency management and it’s all run locally on shitty hardware.
I’m wondering what largeish enterprises tend to do. Perhaps a common server to ssh into? Local analysis but a common toolset? Any anecdotes would be valuable :)
/r/Python
https://redd.it/1mk1vc7
I work at a regional bank. We have zero python infrastructure; as in data scientists and analysts will download and install python on their local machine and run the code there.
There’s no limiting/tooling consistency, no environment expectations or dependency management and it’s all run locally on shitty hardware.
I’m wondering what largeish enterprises tend to do. Perhaps a common server to ssh into? Local analysis but a common toolset? Any anecdotes would be valuable :)
/r/Python
https://redd.it/1mk1vc7
Reddit
From the Python community on Reddit
Explore this post and more from the Python community
What I believe to be a minor change, caused my flask startup to break...can someone explain why?
The following are 2 rudimentary test pages. One is just a proof of concept button toggle. The second one adds toggleing gpio pins on my pi's button actions.
The first one could be started with flask run --host=0.0.0.0 The second requires: FLASK\_APP=app.routes flask run --host=0.0.0.0
from flask import Flask, render_template
app = Flask(__name__)
led1_state = False
led2_state = False
.route("/")
def index():
return render_template("index.html", led1=led1_state, led2=led2_state)
.route("/toggle/<int:led>")
def toggle(led):
global led1_state, led2_state
if led == 1:
led1_state = not led1_state
elif led == 2:
led2_state = not led2_state
return render_template("index.html", led1=led1_state, led2=led2_state)
/r/flask
https://redd.it/1mkbhyj
The following are 2 rudimentary test pages. One is just a proof of concept button toggle. The second one adds toggleing gpio pins on my pi's button actions.
The first one could be started with flask run --host=0.0.0.0 The second requires: FLASK\_APP=app.routes flask run --host=0.0.0.0
from flask import Flask, render_template
app = Flask(__name__)
led1_state = False
led2_state = False
.route("/")
def index():
return render_template("index.html", led1=led1_state, led2=led2_state)
.route("/toggle/<int:led>")
def toggle(led):
global led1_state, led2_state
if led == 1:
led1_state = not led1_state
elif led == 2:
led2_state = not led2_state
return render_template("index.html", led1=led1_state, led2=led2_state)
/r/flask
https://redd.it/1mkbhyj
Reddit
From the flask community on Reddit
Explore this post and more from the flask community
Friday Daily Thread: r/Python Meta and Free-Talk Fridays
# Weekly Thread: Meta Discussions and Free Talk Friday 🎙️
Welcome to Free Talk Friday on /r/Python! This is the place to discuss the r/Python community (meta discussions), Python news, projects, or anything else Python-related!
## How it Works:
1. Open Mic: Share your thoughts, questions, or anything you'd like related to Python or the community.
2. Community Pulse: Discuss what you feel is working well or what could be improved in the /r/python community.
3. News & Updates: Keep up-to-date with the latest in Python and share any news you find interesting.
## Guidelines:
All topics should be related to Python or the /r/python community.
Be respectful and follow Reddit's Code of Conduct.
## Example Topics:
1. New Python Release: What do you think about the new features in Python 3.11?
2. Community Events: Any Python meetups or webinars coming up?
3. Learning Resources: Found a great Python tutorial? Share it here!
4. Job Market: How has Python impacted your career?
5. Hot Takes: Got a controversial Python opinion? Let's hear it!
6. Community Ideas: Something you'd like to see us do? tell us.
Let's keep the conversation going. Happy discussing! 🌟
/r/Python
https://redd.it/1mkg85s
# Weekly Thread: Meta Discussions and Free Talk Friday 🎙️
Welcome to Free Talk Friday on /r/Python! This is the place to discuss the r/Python community (meta discussions), Python news, projects, or anything else Python-related!
## How it Works:
1. Open Mic: Share your thoughts, questions, or anything you'd like related to Python or the community.
2. Community Pulse: Discuss what you feel is working well or what could be improved in the /r/python community.
3. News & Updates: Keep up-to-date with the latest in Python and share any news you find interesting.
## Guidelines:
All topics should be related to Python or the /r/python community.
Be respectful and follow Reddit's Code of Conduct.
## Example Topics:
1. New Python Release: What do you think about the new features in Python 3.11?
2. Community Events: Any Python meetups or webinars coming up?
3. Learning Resources: Found a great Python tutorial? Share it here!
4. Job Market: How has Python impacted your career?
5. Hot Takes: Got a controversial Python opinion? Let's hear it!
6. Community Ideas: Something you'd like to see us do? tell us.
Let's keep the conversation going. Happy discussing! 🌟
/r/Python
https://redd.it/1mkg85s
Redditinc
Reddit Rules
Reddit Rules - Reddit
Setting up a Windows 2016 server to run a flask app
greetings,
I have a windows 2016 server that I’m having a real issue trying to setup to serve out a flask app. I’ve googled several “how tos” and they just don’t seem to work right. Can someone point me to an actual step by step tutorial on how to set it up? I need this running on a windows server due to having issues connecting Linux machines to a remote mmsql database server.
thanks
\------UPDATE--------
I abandoned the idea of running this on Windows and instead got it working on Linux. So much easier.
Thanks for the input.
/r/flask
https://redd.it/1mi71lg
greetings,
I have a windows 2016 server that I’m having a real issue trying to setup to serve out a flask app. I’ve googled several “how tos” and they just don’t seem to work right. Can someone point me to an actual step by step tutorial on how to set it up? I need this running on a windows server due to having issues connecting Linux machines to a remote mmsql database server.
thanks
\------UPDATE--------
I abandoned the idea of running this on Windows and instead got it working on Linux. So much easier.
Thanks for the input.
/r/flask
https://redd.it/1mi71lg
Reddit
From the flask community on Reddit
Explore this post and more from the flask community
D Can LLMs Have Accurate World Models?
I have seen many articles (one example https://aiguide.substack.com/p/llms-and-world-models-part-1) stating that LLMs have no coherent/effective world models and because of this their accuracy is inherently limited. Can this obstacle be overcome, and if not why?
/r/MachineLearning
https://redd.it/1mkelg5
I have seen many articles (one example https://aiguide.substack.com/p/llms-and-world-models-part-1) stating that LLMs have no coherent/effective world models and because of this their accuracy is inherently limited. Can this obstacle be overcome, and if not why?
/r/MachineLearning
https://redd.it/1mkelg5
Substack
LLMs and World Models, Part 1
How do Large Language Models Make Sense of Their “Worlds”?
Django Learning Path 2025
Hello all,
my question is quite easy and hard at the same time: What would be an optimized learning path for learning Django in 2025?
In a future job opportunity I would be tasked with developing an existing Django project, also enhance features and do maintenance for an existing Netbox deployment + custom plugins.
My time constraints would allow for about an hour of learning per day for 4-5 months from now on.
I have some prior Python experience in a professional context, but more on the Flask and functions-framework side of life.
I'm happy about every useful tip, so thank you in advance!
/r/django
https://redd.it/1mka58y
Hello all,
my question is quite easy and hard at the same time: What would be an optimized learning path for learning Django in 2025?
In a future job opportunity I would be tasked with developing an existing Django project, also enhance features and do maintenance for an existing Netbox deployment + custom plugins.
My time constraints would allow for about an hour of learning per day for 4-5 months from now on.
I have some prior Python experience in a professional context, but more on the Flask and functions-framework side of life.
I'm happy about every useful tip, so thank you in advance!
/r/django
https://redd.it/1mka58y
Reddit
From the django community on Reddit
Explore this post and more from the django community
What are the benefits of UV's build backend?
Has anyone started using the newly stabilized build backend from UV? I'm seeing little discussion as to the benefits of it and am curious as to whether anyone has had tangible experiences with it.
/r/Python
https://redd.it/1mkkoj8
Has anyone started using the newly stabilized build backend from UV? I'm seeing little discussion as to the benefits of it and am curious as to whether anyone has had tangible experiences with it.
/r/Python
https://redd.it/1mkkoj8
Reddit
From the Python community on Reddit
Explore this post and more from the Python community
What packages should intermediate Devs know like the back of their hand?
Of course it's highly dependent on why you use python. But I would argue there are essentials that apply for almost all types of Devs including requests, typing, os, etc.
Very curious to know what other packages are worth experimenting with and committing to memory
/r/Python
https://redd.it/1mk5sk8
Of course it's highly dependent on why you use python. But I would argue there are essentials that apply for almost all types of Devs including requests, typing, os, etc.
Very curious to know what other packages are worth experimenting with and committing to memory
/r/Python
https://redd.it/1mk5sk8
Reddit
From the Python community on Reddit
Explore this post and more from the Python community
Synchrotron - a pure python live audio engine!
Hello everyone! I've spent the past year working on Synchrotron \- a live audio engine I've been programming from the ground up in only Python. This mainly stems from being tired of everything live audio being written in JUCE/C/C++, and the usual response to "how do you make a synth in Python" being "just don't".
Sure, Python isn't as performant as other languages for this. But in exchange, it's incredibly modular and hackable! I aim to keep working on Synchrotron until it's an actual legitimate option for music production and production audio engines.
Frontend URL: https://synchrotron.thatother.dev/
Source code: https://github.com/ThatOtherAndrew/Synchrotron
# What My Project Does
Synchrotron processes nodes, which are simple Python classes that define some operation they do with inputs and outputs. A node can be as short as 5 lines, and an example is shown below:
class IncrementNode(Node):
input: StreamInput
output: StreamOutput
def render(self, ctx):
self.out.write(self.a.read(ctx) + 1)
These nodes can be spawned and linked together into a graph, either programmatically or through the
/r/Python
https://redd.it/1mkaf83
Hello everyone! I've spent the past year working on Synchrotron \- a live audio engine I've been programming from the ground up in only Python. This mainly stems from being tired of everything live audio being written in JUCE/C/C++, and the usual response to "how do you make a synth in Python" being "just don't".
Sure, Python isn't as performant as other languages for this. But in exchange, it's incredibly modular and hackable! I aim to keep working on Synchrotron until it's an actual legitimate option for music production and production audio engines.
Frontend URL: https://synchrotron.thatother.dev/
Source code: https://github.com/ThatOtherAndrew/Synchrotron
# What My Project Does
Synchrotron processes nodes, which are simple Python classes that define some operation they do with inputs and outputs. A node can be as short as 5 lines, and an example is shown below:
class IncrementNode(Node):
input: StreamInput
output: StreamOutput
def render(self, ctx):
self.out.write(self.a.read(ctx) + 1)
These nodes can be spawned and linked together into a graph, either programmatically or through the
/r/Python
https://redd.it/1mkaf83
GitHub
GitHub - ThatOtherAndrew/Synchrotron: Graph-based live audio manipulation engine implemented in Python
Graph-based live audio manipulation engine implemented in Python - ThatOtherAndrew/Synchrotron
Preventing ZIP parser confusion attacks on Python package installers
uv and PyPI have both released statements on a hypothetical security vulnerability that has been prevented in PyPI and uv 0.8.6+.
PyPI Summary: https://discuss.python.org/t/pypi-is-preventing-zip-parser-confusion-attacks-on-python-package-installers/101572/2
uv summary: https://github.com/astral-sh/uv/releases/tag/0.8.6
PyPI detailed blog post: https://blog.pypi.org/posts/2025-08-07-wheel-archive-confusion-attacks/
uv detailed blog post: https://astral.sh/blog/uv-security-advisory-cve-2025-54368
While probably not critical by itself if you are security paranoid or you use uv and a non-PyPI third party index that non trusted users can upload to I would recommend upgrading uv.
/r/Python
https://redd.it/1mk5uio
uv and PyPI have both released statements on a hypothetical security vulnerability that has been prevented in PyPI and uv 0.8.6+.
PyPI Summary: https://discuss.python.org/t/pypi-is-preventing-zip-parser-confusion-attacks-on-python-package-installers/101572/2
uv summary: https://github.com/astral-sh/uv/releases/tag/0.8.6
PyPI detailed blog post: https://blog.pypi.org/posts/2025-08-07-wheel-archive-confusion-attacks/
uv detailed blog post: https://astral.sh/blog/uv-security-advisory-cve-2025-54368
While probably not critical by itself if you are security paranoid or you use uv and a non-PyPI third party index that non trusted users can upload to I would recommend upgrading uv.
/r/Python
https://redd.it/1mk5uio
Discussions on Python.org
PyPI is preventing ZIP parser confusion attacks on Python package installers
The Python Package Index is introducing new restrictions to protect Python package installers and inspectors from ZIP confusion attacks. There is no evidence that this vulnerability has been exploited. This may impact a small number of projects on PyPI,…
Which is better for a new API, FastAPI or Django REST Framework?
Hey devs , I’m going for a new backend for a mid-sized project (real-time dashboard + standard CRUD APIs). I’ve used DRF in production before, but I’m curious about FastAPI’s performance and async support for this one.
/r/Python
https://redd.it/1mk2vx5
Hey devs , I’m going for a new backend for a mid-sized project (real-time dashboard + standard CRUD APIs). I’ve used DRF in production before, but I’m curious about FastAPI’s performance and async support for this one.
/r/Python
https://redd.it/1mk2vx5
Reddit
From the Python community on Reddit
Explore this post and more from the Python community
🚀 Introducing django-sightline — Smart, Lightweight, Privacy-Friendly Visit Logging for Django
Hey everyone!
I’ve just released `django-sightline` **v0.1.0**, a plug-and-play app that lets you track visits, visualize user activity, and even map visitors geographically — all from the Django admin panel.
This tool is designed to be:
✅ **Lightweight** — no JavaScript or frontend code needed
✅ **Private by design** — no cookies, no IP tracking beyond what's required
✅ **Smart** — logs visits intelligently to avoid redundant values
✅ **Fully integrated** — beautiful charts and maps right inside the Django admin
🔍 **Core Features**
* Middleware-based visit logging (IP, user agent, path, user info, timestamp)
* Smart deduplication using hashed identifiers
* Daily/total visit metrics, line charts, and GeoIP maps
* Easy customization through [`settings.py`](http://settings.py)
* Clean and extensible model structure
* GeoIP mapping (optional, configurable)
* No extra database hits or tracking scripts
Ideal for internal tools, dashboards, admin panels, or any Django app where you want basic analytics.
https://preview.redd.it/jjqb0xfbishf1.png?width=518&format=png&auto=webp&s=c3784f8ad33eb937abc6f61c5aa21ff85fc97c3a
🔧 **What's Next**
In upcoming versions, I plan to include:
* 🔗 Referral system support
* ⚡ Improved performance under heavy load
* 🔍 Advanced filters in the admin UI
* 📚 Full documentation and guides
🧪 Try it out and let me know what you think!
GitHub: [https://github.com/francescoridolfi/django-sightline](https://github.com/francescoridolfi/django-sightline)
PyPI: `pip install django-sightline`
I'm happy to hear feedback, ideas, or issues. Hope this helps your projects gain more insight — without the bloat.
/r/django
https://redd.it/1mktz2p
Hey everyone!
I’ve just released `django-sightline` **v0.1.0**, a plug-and-play app that lets you track visits, visualize user activity, and even map visitors geographically — all from the Django admin panel.
This tool is designed to be:
✅ **Lightweight** — no JavaScript or frontend code needed
✅ **Private by design** — no cookies, no IP tracking beyond what's required
✅ **Smart** — logs visits intelligently to avoid redundant values
✅ **Fully integrated** — beautiful charts and maps right inside the Django admin
🔍 **Core Features**
* Middleware-based visit logging (IP, user agent, path, user info, timestamp)
* Smart deduplication using hashed identifiers
* Daily/total visit metrics, line charts, and GeoIP maps
* Easy customization through [`settings.py`](http://settings.py)
* Clean and extensible model structure
* GeoIP mapping (optional, configurable)
* No extra database hits or tracking scripts
Ideal for internal tools, dashboards, admin panels, or any Django app where you want basic analytics.
https://preview.redd.it/jjqb0xfbishf1.png?width=518&format=png&auto=webp&s=c3784f8ad33eb937abc6f61c5aa21ff85fc97c3a
🔧 **What's Next**
In upcoming versions, I plan to include:
* 🔗 Referral system support
* ⚡ Improved performance under heavy load
* 🔍 Advanced filters in the admin UI
* 📚 Full documentation and guides
🧪 Try it out and let me know what you think!
GitHub: [https://github.com/francescoridolfi/django-sightline](https://github.com/francescoridolfi/django-sightline)
PyPI: `pip install django-sightline`
I'm happy to hear feedback, ideas, or issues. Hope this helps your projects gain more insight — without the bloat.
/r/django
https://redd.it/1mktz2p