Skip to main content

A Python library to fetch PyPI package information (sync & async)

Project description

PyPi Python Library

یک کتابخانه پایتون برای دریافت اطلاعات پکیج‌های PyPI به صورت سینک یا آسنکرون.
این کتابخانه به طور خودکار تشخیص می‌دهد که در محیط آسنکرون هستید یا نه و متد مناسب را استفاده می‌کند.


نصب

برای نصب نیازی به پکیج خاصی نیست جز requests و aiohttp:

pip install requests aiohttp pypiget

سپس فایل pypi.py را در پروژه خود قرار دهید و import کنید:

from pypi import PyPi

استفاده

نمونه سینک:

from pypi import PyPi

pypi = PyPi()

# اطلاعات پکیج
info = pypi.get_package_info("requests")
print(info)

# ورژن‌های پکیج
releases = pypi.get_releases("requests")
print(releases)

# بررسی به‌روزرسانی
is_updated = pypi.is_package_updated("requests")
print(is_updated)

# اطلاعات نویسنده
author_info = pypi.show_package_author_info("requests")
print(author_info)

# تاریخ آخرین آپدیت
last_update = pypi.show_last_update_date("requests")
print(last_update)

# URL صفحه اصلی پکیج
home_url = pypi.get_package_url("requests")
print(home_url)

نمونه آسنکرون:

import asyncio
from pypi import PyPi

async def main():
    pypi = PyPi()

    # اطلاعات پکیج
    info = await pypi.get_package_info("requests")
    print(info)

    # بررسی وضعیت پکیج
    status = await pypi.check_package_status("requests")
    print(status)

asyncio.run(main())

متدها

متد توضیح نوع
get_package_info(package_name) دریافت اطلاعات کامل پکیج سینک/آسنکرون
get_releases(package_name) دریافت لیست ورژن‌ها سینک/آسنکرون
is_package_updated(package_name) بررسی آخرین به‌روزرسانی (<30 روز) سینک/آسنکرون
show_package_author_info(package_name) اطلاعات نویسنده (نام و ایمیل) سینک/آسنکرون
show_last_update_date(package_name) تاریخ آخرین آپدیت سینک/آسنکرون
get_popular_packages(limit=10) دریافت لیست پکیج‌های محبوب (HTML) سینک/آسنکرون
get_package_url(package_name) URL صفحه خانه پکیج سینک/آسنکرون
get_first_release_date(package_name) تاریخ اولین انتشار پکیج سینک/آسنکرون
check_package_status(package_name) بررسی موجودیت پکیج سینک/آسنکرون

ویژگی‌ها

  • خودکار تشخیص محیط سینک یا آسنکرون
  • پشتیبانی کامل از تمام متدهای PyPI
  • طراحی ساده و یکپارچه
  • امکان استفاده در پروژه‌های async بدون تغییر کد

مثال پیشرفته

می‌توان از متدها در پروژه‌های ترکیبی استفاده کرد، بدون اینکه نگران محیط سینک یا async باشید:

import asyncio
from pypi import PyPi

pypi = PyPi()

async def main():
    info = await pypi.get_package_info("requests")
    print(info['info']['summary'])

asyncio.run(main())

# یا سینک مستقیم
releases = pypi.get_releases("requests")
print(releases)

نصب در پروژه

کافیست فایل pypi.py را در پروژه خود قرار دهید و import کنید:

project/
├─ main.py
├─ pypi.py
└─ ...

مجوز

MIT License
می‌توانید آزادانه استفاده، تغییر و انتشار دهید.

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

pypiget-0.2.0.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

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

pypiget-0.2.0-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file pypiget-0.2.0.tar.gz.

File metadata

  • Download URL: pypiget-0.2.0.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for pypiget-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a658fedfc05d6321c4565d768b11b967729459d0a2ee82b15a70145ecd4e10d7
MD5 c9192eb5c820e44ce68a18a539c7bd4d
BLAKE2b-256 4915257bc1922c1314187abc164d97ddf264e1cb5098bac08c8f3389f3ab691c

See more details on using hashes here.

File details

Details for the file pypiget-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pypiget-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for pypiget-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4cf260b68cb41eec4b51a7d252cc39db35b4a4abc5881d87c91608ba65b9a6fd
MD5 8af8acf11214ef947c5af0c96b16c708
BLAKE2b-256 3f973fd04e4cab3b42a4268b1403e957c4edc4e008d8b562bcc36326b7ceed13

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