Simple URL shortening with advanced analytics, emoji aliases, and more using spoo.me.
Project description
🚀 Simple URL shortening with advanced analytics, emoji aliases, and more using spoo.me
📖 Table of Contents
📦 Installing
You can install this package using pip:
pip install py_spoo_url
📥 Importing
from py_spoo_url import Shorten, Statistics
✂️ Shortening URL
For Non-emoji aliases
shortener = Shortener()
long_url = "https://www.example.com"
short_url = shortener.shorten(long_url, password="SuperSecretPassword@444", max_clicks=100)
# for custom alias, put `alias=<your_choice>`
print(f"Shortened URL: {short_url}")
😎 For Emoji aliases
shortener = Shortener()
long_url = "https://www.example.com"
emoji_url = shorten.emojify(long_url) # pass password and max-clicks as shown above if you want
# for custom emoji alias, put `emoji_alias=<random_emoji_sequence>`
print(f"Emojified URL: {emoji_url}")
Note: The emoji sequence must contain actual emojies like 😆🤯...
📊 URL Statistics
The Statistics class enables you to retrieve detailed statistics for a given short code.
🔧 Initializing the class
from spoo_me import Statistics
# Initialize Statistics with a short code
stats = Statistics(short_code="ga") # replace with the shortcode you want
# if the shortUrl is password protected you have to pass the password too
👀 Viewing the Basic Statistics
print(f"Total Clicks: {stats.total_clicks}")
print(f"Total Unique Clicks: {stats.total_unique_clicks}")
print(f"Average Daily Clicks: {stats.average_daily_clicks}")
print(f"Clicks Analysis: {stats.clicks_analysis}")
print(f"Browser Analysis: {stats.browsers_analysis}")
# ... and more (details below)
List of the analytics you can access
Method/Attribute | Description |
---|---|
total_clicks | Total number of clicks on the short URL. |
total_unique_clicks | Total number of unique clicks on the short URL. |
average_daily_clicks | Average number of clicks per day. |
average_monthly_clicks | Average number of clicks per month. |
average_weekly_clicks | Average number of clicks per week. |
last_click | Information about the last click on the short URL. |
last_click_browser | Browser used for the last click. |
last_click_platform | Operating system used for the last click. |
created_at | Date when the short URL was created. |
creation_time | Time of day when the short URL was created. |
browsers_analysis | Analysis of browsers used for clicks. |
platforms_analysis | Analysis of operating systems used for clicks. |
country_analysis | Analysis of countries from which clicks originated. |
referrers_analysis | Analysis of referrers (sources) of clicks. |
clicks_analysis | Detailed analysis of daily clicks. |
unique_browsers_analysis | Analysis of unique browsers used for clicks. |
unique_platforms_analysis | Analysis of unique operating systems for clicks. |
unique_country_analysis | Analysis of unique countries from which clicks originated. |
unique_referrers_analysis | Analysis of unique referrers (sources) of clicks. |
unique_clicks_analysis | Detailed analysis of daily unique clicks. |
expired | Indicates if the short URL has expired. |
password | Password associated with the short URL (if any). |
Example Usage
print(f"Creation Time: {stats.creation_time}")
📈 Generating Insightful Charts
plt = stats.make_chart(stats.browsers_analysis, chart_type="bar") # this returns an object of matplotlib
plt.show()
# ... and more (see below)
# generating countries heatmaps
plt = stats.make_countries_heatmap()
plt.show()
plt = stats.make_unique_countries_heatmap()
plt.show()
List of Available Charts
Method | Description |
---|---|
make_chart | Create various types of charts based on the data provided. |
Parameters | Description |
---|---|
data | Type of data to visualize (e.g., stats.browsers_analysis, see below). |
chart_type | Type of chart to create (e.g., "bar", "pie", "line", see below). |
days | Number of days to consider for time-based analysis. (only for last_n_days_analysis and last_n_days_unique_analysis ) |
Valid Data that can be passed to make the chart
stats.browsers_analysis
stats.platforms_analysis
stats.country_analysis
stats.referrers_analysis
stats.clicks_analysis
stats.unique_browsers_analysis
stats.unique_platforms_analysis
stats.unique_country_analysis
stats.unique_referrers_analysis
stats.unique_clicks_analysis
stats.last_n_days_analysis
stats.last_n_days_unique_analysis
Valid Chart types
- bar
- pie
- line
- scatter
- hist
- box
- area
Usage Example
plt = stats.make_chart(stats.browsers_analysis, chart_type="bar")
plt.show()
📤 Exporting Stats Data
You can export the statistical data to various file formats, including Excel, CSV, and JSON:
# Export data to Excel
stats.export_data(filename="stats_export.xlsx", filetype="xlsx")
# Export data to CSV and compress into a ZIP file
stats.export_data(filename="stats_export", filetype="csv")
# Export data to Json
stats.export_data(filename="stats_export.json", filetypes="json")
🧳 Dependencies
matplotlib
: For creating charts and visualizations.requests
: For making HTTP requests to the Spoo.me API.pandas
: For handling and manipulating data in tabular form. 🐼geopandas
: For creating geographical visualizations. 🌎
All of the dependencies are automatically installed while installing the package but in case of any errors, you can install all of the dependencies listed in the requirements.txt
file.
🚨 Error Codes
To see the error codes returned by the API, please visit https://spoo.me/api
🤝 Support and Issues
If you encounter any issues or have questions about using the Spoo.me Python package, please open an issue on the GitHub repository.
🤗 Contributing
Contributions are welcome! If you have ideas for improvements or new features, feel free to fork the repository, make your changes, and submit a pull request
📜 Licence
This package is licensed under the MIT License - see the LICENSE file for details.
© spoo.me . 2024
All Rights Reserved
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file py_spoo_url-0.0.1.tar.gz
.
File metadata
- Download URL: py_spoo_url-0.0.1.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52a9956e195196018a556bcdc29433ce7a4ec802ae4bddc4c0a599e1f9fc9545 |
|
MD5 | 2f60c0b20dd0609eeb99349dc93aead3 |
|
BLAKE2b-256 | 96ed3f4837dffbd75690478aa4a1604e70ded99c504760d5ebff7366f5f0fe31 |
File details
Details for the file py_spoo_url-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: py_spoo_url-0.0.1-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c82920c7c12effcc71754714085a7e9c01a38a40192e9d8da714cfe8b9c2d88a |
|
MD5 | 2ad0897909cec89c1f791237f8d194f4 |
|
BLAKE2b-256 | e51038646481aefcb6dc7286e276d2ed0b200dcd0273a2658fcae88768e9aab3 |