A tool for collecting and analyzing Python project files for LLM optimization
Project description
ProjectLens 🔍
A powerful tool for collecting and analyzing coding project files for review and optimization with Large Language Models (LLMs) like ChatGPT, Claude, DeepSeek, and other AI assistants.
Overview
ProjectLens scans your codebase and creates a comprehensive text export that you can feed directly to AI models. It intelligently filters files based on extensions, respects common ignore patterns, and creates a well-formatted output that maximizes the context available to LLMs.
Features
- 🔍 Recursively collect project files with specified extensions and smart filtering
- 🌲 Generate detailed project tree structure
- 📝 Create well-formatted output optimized for LLM analysis
- 🚀 Easy to use as both CLI tool and Python API
- 🛠️ Zero external dependencies
Installation
pip install projectlens
For development installation:
git clone https://github.com/cmcouto-silva/projectlens
cd projectlens
uv sync # or pip install -e .
Quick Start
CLI Usage
# Basic usage - scan Python, Markdown and TOML files
projectlens /path/to/project -x py md toml
# Include specific files regardless of extension
projectlens /path/to/project -x py -i Dockerfile Makefile
# Exclude specific directories or patterns
projectlens /path/to/project -x py md -e tests *cache*
# Specify output file
projectlens /path/to/project -x py -o project_snapshot.txt
# Get detailed logs
projectlens /path/to/project -x py md -e data tests --verbose
Python API Usage
from projectlens import ProjectLens
# Initialize with file extensions to include
lens = ProjectLens(
extensions=["py", "md", "toml"],
include=["Dockerfile"], # Additional files to include
exclude=["tests", "*cache*"], # Patterns to exclude
max_file_size=500 # Maximum file size in KB
)
# Export the project
lens.export_project(
folder_path="/path/to/project",
output="project_snapshot.txt" # Optional, auto-generated if not specified
)
Documentation
For detailed documentation, visit our documentation site.
Use Cases
- LLM Code Review: Generate a complete snapshot of your project for AI review
- Documentation Generation: Have AI analyze your project structure to suggest documentation
- Knowledge Transfer: Help new team members understand project structure
- Legacy Code Understanding: Analyze unfamiliar codebases quickly
License
This project is licensed under the MIT License - see the LICENSE file for details.
Credits
Created and maintained by Cainã Max Couto da Silva.
Donate
Like it? Consider buying me a coffee (don't forget the message) 😊
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file projectlens-0.1.2.tar.gz.
File metadata
- Download URL: projectlens-0.1.2.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f91d404549bf98d952830bff9cec5706b50987bb3bdfd3d69b3c15ee673fae2
|
|
| MD5 |
fec747ea481ec2faccf23d8d6520f1c0
|
|
| BLAKE2b-256 |
1b4a806bcbc7118f355be8301962a6433293091d49a23a87fcfd522b5bb23363
|
File details
Details for the file projectlens-0.1.2-py3-none-any.whl.
File metadata
- Download URL: projectlens-0.1.2-py3-none-any.whl
- Upload date:
- Size: 12.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35532a5a93ac782a567d5d91acaa860c9782c95bb238edf875423ba37b25bc89
|
|
| MD5 |
11f3a7ce512ae7bca024a00cea99a351
|
|
| BLAKE2b-256 |
45b2ffc158fd3a63b53c10c029465a0c49c2826eaee2c3773f02d6877f25d9d3
|