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.
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.
Errors
If a "Blacklisted long URL" error is experienced for a reasonable website which should not be blacklisted, it can be reported here. As an example, see this issue.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dagdshort-0.2.0.tar.gz.
File metadata
- Download URL: dagdshort-0.2.0.tar.gz
- Upload date:
- Size: 18.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d77896560e5709b32bd191a443698af44c4c6972ddbe3a638b8cb123ebe0d261
|
|
| MD5 |
dec57f6f8b18041cceb6e3a901daf5d7
|
|
| BLAKE2b-256 |
9a2746a64c9c7ade79ea88dbd99beaccbce1c1502412641151d2be45f29e8f0e
|
File details
Details for the file dagdshort-0.2.0-py3-none-any.whl.
File metadata
- Download URL: dagdshort-0.2.0-py3-none-any.whl
- Upload date:
- Size: 18.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42dbeec05e78f5a0498de44f614d128cfbadce607a7ced32526a9f7d2e2a354b
|
|
| MD5 |
9c986946739c851715415362433b4130
|
|
| BLAKE2b-256 |
e226bc0c3755f66c39e418ff2890e3abf39c3a26ab3672b650ac28b9945d6ef5
|