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. An older version of Python will not work.

Usage

To install the package, run:

$ pip install dagdshort

Usage example:

>>> 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.2.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.2-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for dagdshort-0.1.2.tar.gz
Algorithm Hash digest
SHA256 03ab2c6ee00d48c90f55f18daab49e5088e08622ccbcbcd0abb5dc09d7ffbb67
MD5 437f767c159a0e3b5c748d6e5603a865
BLAKE2b-256 679295821d71971c95fcc53e47bc017507bff093d4cb5f6fffbd76b95c0e56eb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dagdshort-0.1.2-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.11.0

File hashes

Hashes for dagdshort-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4e86c223ca156d673398e0810b98e8529fc29f35a0c9c86b0330c5eecab9782e
MD5 77d19282262a0021a3a5c46e578d1798
BLAKE2b-256 2b58dff23abffc1298ddcb38322631f03f5997f8bd9cfc772f82af5cd4e39a81

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