Skip to main content

A powerful search tool for discovering Python packages based on user queries

Project description

Modulift

Modulift is a powerful and efficient Python package designed to help developers, data scientists, and researchers explore and discover Python packages on PyPI based on specific keywords, package names, or full-text search within package descriptions. With a comprehensive dataset of PyPI packages, Modulift allows you to find relevant libraries for your project needs, making it an invaluable tool for anyone looking to streamline package selection and integration.

Key Features

  • Exact Package Name Search: Retrieve detailed information on a specific package by name.
  • Keyword-Based Search: Search packages by multiple keywords with flexible "or" and "and" logic to refine results.
  • Full-Text Description Search: Locate packages by searching for specific phrases or content in their descriptions.
  • Markdown Output Option: Print search results in Markdown format, ideal for documentation or presentations.

Installation

Install Modulift via pip:

pip install modulift

Usage

Modulift provides an easy-to-use API for searching and exploring Python packages. Here’s a quick guide on how to use its core features.

1. Search by Package Name

Retrieve detailed information for a specific package by name:

import modulift as mf

result = mf.search_by_package_name("numpy")
print(result)

Output:

{
    'package': 'numpy',
    'description': 'NumPy is the fundamental package for scientific computing with Python. It provides powerful N-dimensional arrays, sophisticated mathematical functions, tools for integrating C/C++ and Fortran code, and useful linear algebra, Fourier transform, and random number capabilities.',
    'keywords': 'scientific computing, array, linear algebra, Fourier transform, random number generation, data processing, numerical analysis',
    'popularity': 5
}

For a different package:

result = mf.search_by_package_name("nullsweep")
print(result)

Output:

{
    'package': 'nullsweep',
    'description': 'NullSweep is a Python library designed for detecting and handling patterns of missing data in pandas DataFrames. It provides a simple API to identify global missing data patterns across the entire dataset, patterns related to specific features within the dataset, and to impute missing values using various strategies.',
    'keywords': 'missing data, data imputation, pandas, pattern detection, feature-specific patterns',
    'popularity': 4
}

Markdown Output To display the result in Markdown format:

result = mf.search_by_package_name("numpy", markdown=True)

Package: numpy

  • Description: NumPy is the fundamental package for scientific computing with Python. It provides powerful N-dimensional arrays, sophisticated mathematical functions, tools for integrating C/C++ and Fortran code, and useful linear algebra, Fourier transform, and random number capabilities.
  • Keywords: scientific computing, array, linear algebra, Fourier transform, random number generation, data processing, numerical analysis
  • Popularity: 5

2. Search by Keywords

Search for packages using one or more keywords. Modulift supports both "or" and "and" relations.

Single Keyword Search

result = mf.search_by_keywords("data science")
print(len(result))

Output:

3141  # Number of packages related to "data science"

Multi-Keyword Search with "and" Relation

result = mf.search_by_keywords("data science", "machine learning", "deep learning", relation="and")
print(len(result))

Output:

115  # Number of packages related to all three keywords

Limiting Results with Markdown Output

result = mf.search_by_keywords("data science", "machine learning", "deep learning", relation="and", limit=3, markdown=True)

Markdown Output

1. sagemaker

  • Description: The SageMaker Python SDK is an open-source library designed for training and deploying machine learning models on Amazon SageMaker. It supports popular deep learning frameworks like Apache MXNet and TensorFlow, as well as Amazon's own scalable algorithms optimized for SageMaker. Users can also deploy custom algorithms in Docker containers, making it versatile for various machine learning tasks.
  • Keywords: machine learning, deep learning, model deployment, Amazon SageMaker, data science, AI, Docker
  • Popularity: 5

2. fastbook

  • Description: fastbook is a comprehensive resource for learning deep learning through practical coding examples using the fastai library and PyTorch. It is designed for coders of all backgrounds, providing accessible education on deep learning techniques and applications across various domains, including computer vision and natural language processing.
  • Keywords: deep learning, fastai, PyTorch, computer vision, natural language processing, machine learning, data science, Jupyter Notebooks
  • Popularity: 5

3. ProAiLab

  • Description: ProAiLab is a Python library designed for building and deploying AI models. It provides tools for data preprocessing, model training, and evaluation, making it suitable for both beginners and experienced machine learning practitioners.
  • Keywords: machine learning, AI, deep learning, data science, model development
  • Popularity: 4

### 3. Full-Text Search in Descriptions

Search for packages based on specific phrases within the description.

result = mf.search_by_description("training and deploying machine learning models on Amazon", markdown=True)

Markdown Output

1. sagemaker

  • Description: The SageMaker Python SDK is an open-source library designed for training and deploying machine learning models on Amazon SageMaker. It supports popular deep learning frameworks like Apache MXNet and TensorFlow, as well as Amazon's own scalable algorithms optimized for SageMaker. Users can also deploy custom algorithms in Docker containers, making it versatile for various machine learning tasks.
  • Keywords: machine learning, deep learning, model deployment, Amazon SageMaker, data science, AI, Docker
  • Popularity: 5

### 4. Find Similar Packages

Use cosine similarity to identify packages similar to a given package name.

similar_packages = mf.find_similar_package("nullsweep")

License

Modulift is licensed under the MIT License. See LICENSE for more details.

Contributing

We welcome contributions to Modulift! Please see CONTRIBUTING.md for guidelines.

Contact

For any questions or feedback, please contact the author:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

modulift-0.0.3.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

modulift-0.0.3-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file modulift-0.0.3.tar.gz.

File metadata

  • Download URL: modulift-0.0.3.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.5

File hashes

Hashes for modulift-0.0.3.tar.gz
Algorithm Hash digest
SHA256 9253a5dcd761048973c9478ce42eef680807dd6834f808781ce98f2d48c82f15
MD5 1f7a7a8515cd7cd027ce5c7ca4479c5d
BLAKE2b-256 f95065c98f18e3d78f79202313c5a6f54a785b71c8a374360806e7ebbc7ee243

See more details on using hashes here.

File details

Details for the file modulift-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: modulift-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.5

File hashes

Hashes for modulift-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 22895d11270fa47e48a363a00dfbbb7b20ecce8fcf449ff58c06775c53d73ae9
MD5 8c00982e3265f8604bae2ff64d5a1c82
BLAKE2b-256 2a0e8823b2f59ed5566c56d0128eab0b21f212ace601c0a24cb042e7130553d7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page