Skip to main content

Multithreaded concurrent da.gd URL shortener with in-memory cache

Project description

dagdshort

dagdshort is a Python based multithreaded URL shortener with a memory-cache. It uses the da.gd service.

As a disclaimer, this is an unofficial package and it has no association with da.gd. If you use this package extensively, making a financial donation to da.gd is encouraged.

Other operations are outside the scope of this package.

cicd badge

Links

Caption Link
Repo https://github.com/impredicative/dagdshort/
Changelog https://github.com/impredicative/dagdshort/releases
Package https://pypi.org/project/dagdshort/

Requirements

Python

Python ≥3.9 is required. Any older version of Python will not work.

Usage

To install the package, run:

$ pip install dagdshort

Usage examples:

>>> import dagdshort

# Setup
>>> shortener = dagdshort.Shortener(user_agent_suffix='<YourGitUsername>/<YourGitRepoName>', max_cache_size=256)

# Shorten
>>> long_urls = ['https://github.com/impredicative/dagdshort/', 'https://pypi.org/project/dagdshort/']
>>> shortener.shorten_urls(long_urls)
{'https://github.com/impredicative/dagdshort/': 'https://da.gd/W9s06',
 'https://pypi.org/project/dagdshort/': 'https://da.gd/KtGTB'}

# Show cache info
>>> shortener.cache_info
{'Shortener._shorten_url': CacheInfo(hits=0, misses=2, maxsize=256, currsize=2)}

To obtain the fastest response, URLs must be shortened together in a batch as in the examples above. Up to 8 concurrent workers are automatically used. The max limit can, if really necessary, be changed by setting config.MAX_WORKERS before initializing the shortener.

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

dagdshort-0.1.1.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

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

dagdshort-0.1.1-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file dagdshort-0.1.1.tar.gz.

File metadata

  • Download URL: dagdshort-0.1.1.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for dagdshort-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2915530720e23b4c1f7e944de40a49bd4760ace0bea81061d2924a9cf31c9a47
MD5 8577f8242cd3e40ef7377216760110af
BLAKE2b-256 a01b9c7891b6fe8b87900cefde7c7c03c86eaabc0575944700282bf1bada81bf

See more details on using hashes here.

File details

Details for the file dagdshort-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: dagdshort-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for dagdshort-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f07deaa72b3624dc72b1329b89a9e8f3cead446cc77e0480c7375e06d6677ee8
MD5 797d90018f8f2da2159afff5387e4db1
BLAKE2b-256 5a21c2d95e96bc6166282979bb457b06e9a64b8568a84bcebf2bc8dae202937a

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