Tanbir Ahmed, Ph. D.

Some resources from the Python Eco-system

Welcome to this curated collection of Python tools and libraries that I have explored and utilized throughout my journey in research, teaching, and development. Python's versatility and rich ecosystem make it an indispensable tool for mathematicians, researchers, and developers alike. Whether for data analysis, machine learning, automated theorem proving, or scientific computation, the tools listed on this page reflect the broad scope of Python’s capabilities.

Having engaged with many of these resources—some extensively and others as needed for specific projects—I have seen firsthand how they empower users to tackle complex problems efficiently. This page is designed to serve as a reference for those who are looking to deepen their understanding of Python’s ecosystem or discover tools tailored to their research and development goals.

I hope you find this collection both practical and inspiring, as Python continues to enable innovation across diverse fields.

Web Development
AIOHTTP: Asynchronous HTTP client/server framework for Python.
Bottle: Simple, fast, and lightweight WSGI micro web framework.
CherryPy: Minimalist Python web framework with an object-oriented design.
Dash: Framework for building interactive web applications with Python and Plotly.
Django: High-level web framework for building secure, scalable web applications quickly.
Falcon: Minimalist WSGI library for building high-performance REST APIs.
FastAPI: Modern, high-performance web framework for building APIs.
Flask: Lightweight, modular micro-framework for web development.
Flask-RESTful: Extension for building REST APIs with Flask.
Locust: Load testing tool often used in web development for stress-testing applications.
Panel: High-level framework for creating dashboards and web apps with Python.
Pyramid: Flexible and lightweight web application framework.
Starlette: Lightweight ASGI framework/toolkit for building APIs, used by FastAPI.
Streamlit: Framework for building data-driven web apps quickly and intuitively.
TiddlyWeb: Lightweight framework for building RESTful web services.
Tornado: Web server and application framework for asynchronous networking.
Twisted: Event-driven network programming library that supports web application development.
Web2Py: Full-stack framework with a focus on ease of use and security.

Data Science and Machine Learning
ArviZ: Library for exploratory analysis of Bayesian models.
BigML: Platform for creating and deploying machine learning models at scale.
Dash: Python framework for building web applications tailored to data visualization.
DVC: Data version control system for machine learning projects.
Fast.ai: High-level deep learning library built on PyTorch for simplifying model training.
H2O.ai: Open-source platform for scalable machine learning and predictive analytics.
Kaggle: Platform for data science competitions, datasets, and community resources.
KNIME: Open-source platform for creating data science workflows visually.
Matplotlib: Library for creating static, interactive, and animated visualizations.
MLflow: Platform for managing the lifecycle of machine learning models.
NumPy: Fundamental package for scientific computing with Python.
Optuna: Framework for hyperparameter optimization in machine learning models.
Pandas: Data manipulation and analysis library.
Plotly: Interactive graphing library for creating dashboards and visualizations.
PyCaret: Low-code library for automating machine learning workflows.
PyMC: Probabilistic programming library for Bayesian modeling and inference.
PyTorch: Framework for deep learning with dynamic computation graphs.
RAPIDS: Suite of GPU-accelerated libraries for data science and analytics.
Scikit-learn: Machine learning library with tools for classification, regression, and clustering.
Seaborn: Statistical data visualization library built on Matplotlib.
Snowflake: Cloud data platform for managing and analyzing data at scale.
Statsmodels: Library for statistical modeling and hypothesis testing.
Streamlit: Framework for quickly creating interactive data applications.
Tableau: Data visualization software for creating interactive dashboards and analytics.
TensorFlow: Open-source library for machine learning and deep learning.
Weights & Biases: Platform for tracking and visualizing machine learning experiments.
XGBoost: Gradient boosting framework for structured data.

AI and NLP Libraries
AlphaFold: Deep learning system for predicting protein structures, integrating AI techniques for advanced NLP-based models.
AllenNLP: NLP research library built on PyTorch for state-of-the-art modeling.
Apache OpenNLP: Toolkit for text processing tasks like tokenization, sentence segmentation, and part-of-speech tagging.
BERT: Transformer-based model for pretraining and fine-tuning NLP applications.
Coqui TTS: Open-source library for text-to-speech generation using deep learning.
DecaNLP: Toolkit for multitask NLP challenges, including summarization and question answering.
DeepPavlov: Conversational AI framework for chatbots and virtual assistants.
Fairseq: Meta AI's sequence modeling toolkit for tasks like machine translation.
FastText: Word embedding library for text classification and vectorization.
Fastai: High-level deep learning framework that simplifies AI and NLP model training.
Flair: Simple and powerful NLP library for text classification and named entity recognition.
Gensim: Topic modeling and document similarity library.
Hugging Face Transformers: Library for state-of-the-art NLP using transformer models like BERT and GPT.
Hugging Face Datasets: Library of NLP datasets ready for use with machine learning models.
Keras: High-level API for building deep learning models, including those for NLP tasks.
KerasNLP: Specialized library under Keras for building and fine-tuning NLP models.
LASER: Multilingual sentence embeddings library by Facebook AI Research.
NLTK: Comprehensive library for natural language processing tasks.
OpenNMT: Neural machine translation and sequence learning framework.
OpenAI Gym: Toolkit for reinforcement learning algorithms.
Prodigy: Annotation tool for quickly creating labeled datasets for AI and NLP tasks.
PyTorch: Dynamic deep learning framework with extensive NLP support.
Rasa: Framework for building conversational AI and chatbots with natural language understanding.
SentenceTransformers: Framework for embedding and comparing text using pretrained transformer models.
SpaCy: NLP library for text processing and named entity recognition.
TensorFlow: Framework for deep learning, including AI and NLP applications.

Automation and Orchestration Tools
Airflow: Workflow orchestration and scheduling tool for pipelines.
Ansible: Automation tool for configuration management and orchestration.
Azure DevOps: Tools for CI/CD, version control, and collaborative software development.
Beats: Lightweight data shippers for collecting logs, metrics, and other data from various systems.
CircleCI: Continuous integration and delivery (CI/CD) platform.
Consul: Tool for service discovery, configuration, and segmentation for dynamic infrastructure.
Docker-Py: Docker SDK for Python.
Fabric: Python library for remote server automation and deployment.
GitLab CI/CD: Built-in CI/CD capabilities in GitLab for automating testing and deployment pipelines.
Grafana: Visualization and analytics platform for monitoring metrics from Prometheus and other data sources.
Helm: Kubernetes package manager to simplify application deployment and management.
Invoke: Task execution and command automation tool.
Jenkins: Open-source automation server for building, testing, and deploying software projects.
Kubernetes: Open-source system for automating deployment, scaling, and management of containerized applications.
Prometheus: Open-source systems monitoring and alerting toolkit.
Puppet: Automation platform for delivering, operating, and securing software across infrastructure.
SaltStack: Infrastructure automation and configuration management system.
Terraform: Infrastructure as Code (IaC) tool for building, changing, and managing cloud infrastructure.
Travis CI: Continuous integration service to build and test software projects hosted on GitHub.
Vagrant: Tool for building and managing virtualized development environments.

Scientific Computing
Astropy: Tools and libraries for astronomy and astrophysical research.
Cython: Optimized static compiler for Python to speed up computational-heavy code.
FEniCS: Library for solving partial differential equations using finite element methods.
GDAL: Library for geospatial data analysis and computation.
H5Py: Interface for working with HDF5 files for managing large amounts of scientific data.
ITK (Insight Toolkit): Library for image analysis and medical image processing.
Julia: While not Python-specific, Julia integrates well with Python for high-performance scientific computing tasks.
MPI for Python (mpi4py): MPI bindings for parallel programming in Python.
Matplotlib: Visualization library for creating plots, charts, and other graphical representations of data.
NetworkX: Python library for studying complex networks and graph-based computations.
Numba: JIT compiler for Python to speed up numerical computations using LLVM.
NumPy: Core library for numerical computations, offering array manipulation and mathematical functions.
OpenCV: Library for computer vision, often used in scientific imaging tasks.
OpenFOAM: Open-source framework for computational fluid dynamics, often interfaced with Python.
PETSc: Toolkit for solving scientific computation problems involving PDEs and linear algebra.
QuantLib: Library for quantitative finance with applications in scientific computation.
SciPy: Library for advanced mathematical, scientific, and engineering computations.
SymPy: Library for symbolic mathematics and algebraic manipulation.
Zarr: Library for parallel, chunked storage of N-dimensional arrays for scientific data.

SAT Solvers and SMT Tools
CVC5: A high-performance SMT solver with Python bindings, ideal for formal verification and symbolic reasoning tasks.
PycoSAT: Python bindings for PicoSAT, a fast SAT solver for Boolean satisfiability problems.
PySAT: A toolkit for SAT solving and combinatorial problem-solving, supporting multiple SAT solvers like MiniSat and Glucose.
PySMT: A Python library providing a unified interface to SMT solvers like Z3, CVC4, and Yices.
Z3 Solver: A powerful SMT and SAT solver with Python bindings, supporting linear arithmetic, bit-vectors, and arrays.

Combinatorial Design Tools
NetworkX: A library for creating and analyzing combinatorial structures, such as block designs, through graph representations.
SageMath: Comprehensive software for advanced combinatorial designs, such as block designs, t-designs, and Latin squares.
SciPy: Includes tools for Latin Hypercube Sampling (LHS) and other statistical methods for experimental designs.
SymPy: Symbolic mathematics library with utilities for combinatorics, including permutations, combinations, and partitions.

Optimization and Operations Research (OR) Tools
Gurobi Optimizer: A solver for linear programming (LP), mixed-integer programming (MIP), and combinatorial optimization.
Numba: JIT compiler for Python that speeds up numerical and optimization-related computations.
OR-Tools: A suite of tools for combinatorial optimization, constraint programming, and linear programming, developed by Google.
PuLP: A library for linear and integer programming problems, with an intuitive Python interface.
Qiskit: Primarily for quantum computing. It includes optimization libraries for solving combinatorial problems using quantum methods.
SciPy: Includes modules for optimization, root finding, and linear algebra.

Web Scraping
Apify: Platform for building, running, and sharing web scraping and automation tools.
Awesome Web Scraping: A curated list of web scraping libraries, tools, and frameworks.
Beautiful Soup: HTML and XML parsing library for web scraping.
Gerapy: Distributed crawling and scraping management framework, based on Scrapy.
Grab: Web scraping framework with robust error handling and user agent control.
Locust: Performance testing tool often used for simulating web scraping scenarios.
lxml: High-performance XML and HTML parser for efficient web scraping.
MechanicalSoup: Library for automating interactions with websites, based on Beautiful Soup.
Octoparse: No-code web scraping tool for beginners and professionals.
ParseHub: Visual web scraping tool for extracting data from websites without coding.
Playwright: Library for automating web browsers for scraping and testing.
Pyppeteer: Python port of Puppeteer for controlling headless browsers for scraping.
PySpider: Powerful web crawling system with a user-friendly web interface.
Requests: Simple HTTP library for making GET/POST requests, often used for scraping APIs.
Requests-HTML: Simplifies HTML parsing and scraping with dynamic JavaScript rendering.
Scrapy: Web crawling and scraping framework.
Selenium: Automation tool for web applications; supports web scraping.