Giter Club home page Giter Club logo

py_spoo_url's Introduction

py_spoo_url banner

๐Ÿš€ 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(data="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.savefig("heatmap.png", format="png", bbox_inches="tight", pad_inches=0.5, dpi=300,)

plt = stats.make_unique_countries_heatmap()
plt.savefig("unique_heatmap.png", format="png", bbox_inches="tight", pad_inches=0.5, dpi=300,)
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., '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

  • 'browsers_analysis'
  • 'platforms_analysis'
  • 'country_analysis'
  • 'referrers_analysis'
  • 'clicks_analysis'
  • 'unique_browsers_analysis'
  • 'unique_platforms_analysis'
  • 'unique_country_analysis'
  • 'unique_referrers_analysis'
  • 'unique_clicks_analysis'
  • 'last_n_days_analysis'
  • 'last_n_days_unique_analysis'

Valid Chart types

  • 'bar'
  • 'pie'
  • 'line'
  • 'scatter'
  • 'hist'
  • 'box'
  • 'area'

Usage Example

plt = stats.make_chart('browsers_analysis', chart_type="bar")
plt.show()

๐Ÿ‘€ Heatmap Preview

Heatmap Example Image

๐Ÿ“ค 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.


PyPI Downloads Contributions Welcome Last Commit

py-spoo-url - URL shortener package supercharged with https://spoo.me | Product Hunt



ยฉ spoo.me . 2024

All Rights Reserved

py_spoo_url's People

Contributors

rdni avatar zingzy avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.