Skip to content

jamditis/python-explorer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

42 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Python Explorer

Python Explorer

An interactive directory of Python libraries for journalists and developers

Live Demo License

🎯 Overview

Python Explorer is a comprehensive, searchable catalog of Python libraries across multiple domains including Web Development, Data Science, Machine Learning, Automation, and more. Features a distinctive cyberpunk aesthetic with real-time filtering, visual analytics, and side-by-side library comparison.

✨ Features

πŸ” Intelligent Search

  • Fuzzy Search - Find libraries even with typos or partial matches using Fuse.js
  • AI-Enhanced Descriptions - Every library has a plain-language, beginner-friendly description
  • Real-time Filtering - Instant results by name, description, or domain
  • Category Filtering - Multi-select filtering across all 23 categories

πŸ“° Journalism & Media Toolkit

  • Curated Collection - 39 libraries specifically tagged for journalism and media work
  • One-Click Access - Dedicated section highlighting tools for data journalism, web scraping, visualization, and content management
  • Requirements Export - Download a ready-to-use requirements.txt for journalism projects

πŸ”§ Developer Tools

  • 345 Python Libraries - Comprehensive collection from awesome-python
  • Requirements.txt Generator - Export any filtered set of libraries as a pip requirements file
  • Interactive Charts - Visual analytics showing domain distribution and popularity
  • Side-by-Side Comparison - Compare libraries to choose the best tool for your needs
  • Clean Cards - Easy-to-read library information at a glance

🎨 Design & UX

  • Cyberpunk Aesthetic - Distinctive AMDITIS design system with acid green accents
  • Beginner-Friendly - Natural language interface removes technical barriers
  • Responsive Design - Works seamlessly on desktop and mobile
  • Zero Build Process - Pure HTML/CSS/JS with ES6 modules

πŸš€ Quick Start

Option 1: View Online

Visit the live demo

Option 2: Run Locally

# Clone the repository
git clone https://github.com/jamditis/python-explorer.git
cd python-explorer

# Start a local server
python3 -m http.server 3000

# Open http://localhost:3000

πŸ“ Project Structure

python-explorer/
β”œβ”€β”€ index.html                 # Main application (NEW: Natural language UI)
β”œβ”€β”€ index-v2.html             # Alternative version (Advanced UI)
β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ css/
β”‚   β”‚   └── styles.css         # Custom cyberpunk styles
β”‚   β”œβ”€β”€ js/
β”‚   β”‚   β”œβ”€β”€ app.js            # Main application logic
β”‚   β”‚   β”œβ”€β”€ natural-search.js # Natural language search engine
β”‚   β”‚   β”œβ”€β”€ charts.js         # Chart.js visualizations
β”‚   β”‚   β”œβ”€β”€ comparator.js     # Library comparison tool
β”‚   β”‚   └── modal.js          # Modal functionality
β”‚   └── data/
β”‚       └── libraries.js       # Library data (ES6 module)
β”œβ”€β”€ style/
β”‚   └── amditis-design-library.html  # Design system reference
└── tools/
    β”œβ”€β”€ extract_from_awesome.py       # Extract libs from awesome-python
    β”œβ”€β”€ integrate_libraries.py        # Integration helper
    └── pypi_simple_scraper.py        # PyPI scraper (experimental)

🎨 Design System

Python Explorer uses the AMDITIS Design Library with:

  • Primary: Acid Green (#ccff00) - Actions, highlights
  • Secondary: Signal Red (#ff2a2a) - Warnings, comparisons
  • Tertiary: Ice Blue (#00f0ff) - Info, links
  • Typography: Chakra Petch (display), Share Tech Mono (code)
  • Effects: CRT scanlines, glitch text, notched corners

πŸ› οΈ Adding New Libraries

Method 1: Manual Addition

Edit assets/data/libraries.js:

{
  n: "LibraryName",
  c: "Category",
  d: "Description text...",
  l: "https://link-to-docs.com/"
}

Method 2: Import from awesome-python

# Extract libraries from awesome-python collection
python3 tools/extract_from_awesome.py

# Generate integration snippets
python3 tools/integrate_libraries.py

# Copy from new_libraries_snippet.txt to assets/data/libraries.js

πŸ“Š Tech Stack

  • Frontend: Vanilla JavaScript (ES6 Modules)
  • Search: Fuse.js 7.0.0 (fuzzy matching)
  • Styling: TailwindCSS CDN + Custom CSS
  • Charts: Chart.js 3.9.1
  • Icons: Lucide Icons
  • Fonts: Google Fonts (Chakra Petch, Share Tech Mono)
  • AI Enhancement: Claude Code (description generation)

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ Data Sources

Library data curated from:

  • awesome-python - Comprehensive Python resource list
  • Manual curation and categorization

πŸ“œ License

This project is open source and available under the MIT License.

πŸ‘€ Author

James Amditis

πŸ™ Acknowledgments


Made with πŸ’š by @jamditis

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages