:electric_plug: Generating short urls with python has never been easier

Overview
Comments
  • Generic expander

    Generic expander

    Generic expander added. It's useful when it's necessary to expand any kind of shortened url without checking the source service, even if the url is not shortened. Helps to check valid url's too.

    opened by MaximilianoRios 6
  • Add cleanUrl paramater in the supported sites

    Add cleanUrl paramater in the supported sites

    Hi there, I wanted to shorten a magnet link that starts with magnet:? but the clean_url method is adding http or https before the link. So, I added a cleanUrl argument that defines whether to clean the URL or not.

    I checked all the supported sites by pyshorteners and only Tinyurl.com & is.gd allows link without http or https. So, I added the cleanUrl argument in those sites only.

    By default, cleanUrl is True so it won't break any existing projects.😇

    wontfix 
    opened by hemantapkh 4
  • make pep8 fails due to missing newline at end of file

    make pep8 fails due to missing newline at end of file

    • python3_3: running distutils-r1_run_phase python_test tests/test_shorteners.py:137:52: W292 no newline at end of file Makefile:8: recipe for target 'pep8' failed
      make: *** [pep8] Error 1

    This can be fixed with a simple sed -i -e '$a\' tests/test_shorteners.py however, git does not detect the file as changed, so I have two commits, one adding a newline, and one removing a newline.

    opened by NP-Hardass 4
  • Add Null Pointer Shortener

    Add Null Pointer Shortener

    I wanted to add one of my preferred URL Shorteners: The Null Pointer. It's open source so there are many instances of it dotted around the web, like at: https://0x0.st/ and https://ttm.sh/, so I made it work with any instance.

    This PR is for Hacktoberfest. If there's any problems, let me know :smile:

    opened by jake-walker 3
  • Addition of cutt.ly shortening service

    Addition of cutt.ly shortening service

    I have added the implementation of cutt.ly service. It too gives us the analytics of the link that e shortened such as No of Clicks, No of Visits from Social Networking Sites etc. I have implemented the "short" method. If the author asks to proceed I will implement the analytics function too. Thanks in Advance !

    opened by VarthanV 2
  • Scheduled daily dependency update on thursday

    Scheduled daily dependency update on thursday

    Update flake8 from 3.7.1 to 3.7.3.

    Changelog

    3.7.3

    -------------------
    
    You can view the `3.7.3 milestone`_ on GitLab for more details.
    
    Bugs Fixed
    ~~~~~~~~~~
    
    - Fix imports of ``typing`` in python 3.5.0 / 3.5.1 (See also `GitLab!294`_,
    `GitLab498`_)
    
    - Fix ``flake8 --statistics`` (See also `GitLab!295`_, `GitLab499`_)
    
    - Gracefully ignore ``flake8-per-file-ignores`` plugin if installed (See also
    `GitLab!297`_, `GitLab495`_)
    
    - Improve error message for malformed ``per-file-ignores`` (See also
    `GitLab!298`_, `GitLab489`_)
    
    
    .. all links
    .. _3.7.3 milestone:
     https://gitlab.com/pycqa/flake8/milestones/26
    
    .. issue links
    .. _GitLab489:
     https://gitlab.com/pycqa/flake8/issues/489
    .. _GitLab495:
     https://gitlab.com/pycqa/flake8/issues/495
    .. _GitLab498:
     https://gitlab.com/pycqa/flake8/issues/498
    .. _GitLab499:
     https://gitlab.com/pycqa/flake8/issues/499
    
    .. merge request links
    .. _GitLab!294:
     https://gitlab.com/pycqa/flake8/merge_requests/294
    .. _GitLab!295:
     https://gitlab.com/pycqa/flake8/merge_requests/295
    .. _GitLab!297:
     https://gitlab.com/pycqa/flake8/merge_requests/297
    .. _GitLab!298:
     https://gitlab.com/pycqa/flake8/merge_requests/298
    

    3.7.2

    -------------------
    
    You can view the `3.7.2 milestone`_ on GitLab for more details.
    
    Bugs Fixed
    ~~~~~~~~~~
    
    - Fix broken ``flake8 --diff`` (regressed in 3.7.0) (See also `GitLab!292`_,
    `GitLab490`_)
    
    - Fix typo in plugin exception reporting (See also `GitLab!275`_,
    `GitLab491`_)
    
    - Fix ``AttributeError`` while attempting to use the legacy api (regressed in
    3.7.0) (See also `GitLab!293`_, `GitLab497`_)
    
    .. all links
    .. _3.7.2 milestone:
     https://gitlab.com/pycqa/flake8/milestones/25
    
    .. issue links
    .. _GitLab490:
     https://gitlab.com/pycqa/flake8/issues/490
    .. _GitLab491:
     https://gitlab.com/pycqa/flake8/issues/491
    .. _GitLab497:
     https://gitlab.com/pycqa/flake8/issues/497
    
    .. merge request links
    .. _GitLab!292:
     https://gitlab.com/pycqa/flake8/merge_requests/292
    .. _GitLab!275:
     https://gitlab.com/pycqa/flake8/merge_requests/275
    .. _GitLab!293:
     https://gitlab.com/pycqa/flake8/merge_requests/293
    
    Links
    • PyPI: https://pypi.org/project/flake8
    • Changelog: https://pyup.io/changelogs/flake8/
    • Repo: https://gitlab.com/pycqa/flake8

    Update pytest from 4.1.1 to 4.2.0.

    Changelog

    4.2.0

    =========================
    
    Features
    --------
    
    - `3094 <https://github.com/pytest-dev/pytest/issues/3094>`_: `Class xunit-style <https://docs.pytest.org/en/latest/xunit_setup.html>`__ functions and methods
    now obey the scope of *autouse* fixtures.
    
    This fixes a number of surprising issues like ``setup_method`` being called before session-scoped
    autouse fixtures (see `517 <https://github.com/pytest-dev/pytest/issues/517>`__ for an example).
    
    
    - `4627 <https://github.com/pytest-dev/pytest/issues/4627>`_: Display a message at the end of the test session when running under Python 2.7 and 3.4 that pytest 5.0 will no longer
    support those Python versions.
    
    
    - `4660 <https://github.com/pytest-dev/pytest/issues/4660>`_: The number of *selected* tests now are also displayed when the ``-k`` or ``-m`` flags are used.
    
    
    - `4688 <https://github.com/pytest-dev/pytest/issues/4688>`_: ``pytest_report_teststatus`` hook now can also receive a ``config`` parameter.
    
    
    - `4691 <https://github.com/pytest-dev/pytest/issues/4691>`_: ``pytest_terminal_summary`` hook now can also receive a ``config`` parameter.
    
    
    
    Bug Fixes
    ---------
    
    - `3547 <https://github.com/pytest-dev/pytest/issues/3547>`_: ``--junitxml`` can emit XML compatible with Jenkins xUnit.
    ``junit_family`` INI option accepts ``legacy|xunit1``, which produces old style output, and ``xunit2`` that conforms more strictly to https://github.com/jenkinsci/xunit-plugin/blob/xunit-2.3.2/src/main/resources/org/jenkinsci/plugins/xunit/types/model/xsd/junit-10.xsd
    
    
    - `4280 <https://github.com/pytest-dev/pytest/issues/4280>`_: Improve quitting from pdb, especially with ``--trace``.
    
    Using ``q[quit]`` after ``pdb.set_trace()`` will quit pytest also.
    
    
    - `4402 <https://github.com/pytest-dev/pytest/issues/4402>`_: Warning summary now groups warnings by message instead of by test id.
    
    This makes the output more compact and better conveys the general idea of how much code is
    actually generating warnings, instead of how many tests call that code.
    
    
    - `4536 <https://github.com/pytest-dev/pytest/issues/4536>`_: ``monkeypatch.delattr`` handles class descriptors like ``staticmethod``/``classmethod``.
    
    
    - `4649 <https://github.com/pytest-dev/pytest/issues/4649>`_: Restore marks being considered keywords for keyword expressions.
    
    
    - `4653 <https://github.com/pytest-dev/pytest/issues/4653>`_: ``tmp_path`` fixture and other related ones provides resolved path (a.k.a real path)
    
    
    - `4667 <https://github.com/pytest-dev/pytest/issues/4667>`_: ``pytest_terminal_summary`` uses result from ``pytest_report_teststatus`` hook, rather than hardcoded strings.
    
    
    - `4669 <https://github.com/pytest-dev/pytest/issues/4669>`_: Correctly handle ``unittest.SkipTest`` exception containing non-ascii characters on Python 2.
    
    
    - `4680 <https://github.com/pytest-dev/pytest/issues/4680>`_: Ensure the ``tmpdir`` and the ``tmp_path`` fixtures are the same folder.
    
    
    - `4681 <https://github.com/pytest-dev/pytest/issues/4681>`_: Ensure ``tmp_path`` is always a real path.
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - `4643 <https://github.com/pytest-dev/pytest/issues/4643>`_: Use ``a.item()`` instead of the deprecated ``np.asscalar(a)`` in ``pytest.approx``.
    
    ``np.asscalar`` has been `deprecated <https://github.com/numpy/numpy/blob/master/doc/release/1.16.0-notes.rstnew-deprecations>`__ in ``numpy 1.16.``.
    
    
    - `4657 <https://github.com/pytest-dev/pytest/issues/4657>`_: Copy saferepr from pylib
    
    Links
    • PyPI: https://pypi.org/project/pytest
    • Changelog: https://pyup.io/changelogs/pytest/
    • Homepage: https://docs.pytest.org/en/latest/
    opened by pyup-bot 2
  • Scheduled daily dependency update on sunday

    Scheduled daily dependency update on sunday

    Update pytest from 4.1.0 to 4.1.1.

    Changelog

    4.1.1

    =========================
    
    Bug Fixes
    ---------
    
    - `2256 <https://github.com/pytest-dev/pytest/issues/2256>`_: Show full repr with ``assert a==b`` and ``-vv``.
    
    
    - `3456 <https://github.com/pytest-dev/pytest/issues/3456>`_: Extend Doctest-modules to ignore mock objects.
    
    
    - `4617 <https://github.com/pytest-dev/pytest/issues/4617>`_: Fixed ``pytest.warns`` bug when context manager is reused (e.g. multiple parametrization).
    
    
    - `4631 <https://github.com/pytest-dev/pytest/issues/4631>`_: Don't rewrite assertion when ``__getattr__`` is broken
    
    
    
    Improved Documentation
    ----------------------
    
    - `3375 <https://github.com/pytest-dev/pytest/issues/3375>`_: Document that using ``setup.cfg`` may crash other tools or cause hard to track down problems because it uses a different parser than ``pytest.ini`` or ``tox.ini`` files.
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - `4602 <https://github.com/pytest-dev/pytest/issues/4602>`_: Uninstall ``hypothesis`` in regen tox env.
    
    Links
    • PyPI: https://pypi.org/project/pytest
    • Changelog: https://pyup.io/changelogs/pytest/
    • Homepage: https://docs.pytest.org/en/latest/
    opened by pyup-bot 2
  • Scheduled daily dependency update on thursday

    Scheduled daily dependency update on thursday

    Update responses from 0.10.3 to 0.10.4.

    Changelog

    0.10.4

    ------
    
    - Fixed generated wrapper when using `responses.activate` in Python 3.6+
    when decorated functions use parameter and/or return annotations.
    
    Links
    • PyPI: https://pypi.org/project/responses
    • Changelog: https://pyup.io/changelogs/responses/
    • Repo: https://github.com/getsentry/responses

    Update pytest from 3.10.1 to 4.0.0.

    Changelog

    4.0.0

    =========================
    
    Removals
    --------
    
    - `3737 <https://github.com/pytest-dev/pytest/issues/3737>`_: **RemovedInPytest4Warnings are now errors by default.**
    
    Following our plan to remove deprecated features with as little disruption as
    possible, all warnings of type ``RemovedInPytest4Warnings`` now generate errors
    instead of warning messages.
    
    **The affected features will be effectively removed in pytest 4.1**, so please consult the
    `Deprecations and Removals <https://docs.pytest.org/en/latest/deprecations.html>`__
    section in the docs for directions on how to update existing code.
    
    In the pytest ``4.0.X`` series, it is possible to change the errors back into warnings as a stop
    gap measure by adding this to your ``pytest.ini`` file:
    
    .. code-block:: ini
    
       [pytest]
       filterwarnings =
           ignore::pytest.RemovedInPytest4Warning
    
    But this will stop working when pytest ``4.1`` is released.
    
    **If you have concerns** about the removal of a specific feature, please add a
    comment to `4348 <https://github.com/pytest-dev/pytest/issues/4348>`__.
    
    
    - `4358 <https://github.com/pytest-dev/pytest/issues/4358>`_: Remove the ``::()`` notation to denote a test class instance in node ids.
    
    Previously, node ids that contain test instances would use ``::()`` to denote the instance like this::
    
       test_foo.py::Test::()::test_bar
    
    The extra ``::()`` was puzzling to most users and has been removed, so that the test id becomes now::
    
       test_foo.py::Test::test_bar
    
    This change could not accompany a deprecation period as is usual when user-facing functionality changes because
    it was not really possible to detect when the functionality was being used explicitly.
    
    The extra ``::()`` might have been removed in some places internally already,
    which then led to confusion in places where it was expected, e.g. with
    ``--deselect`` (`4127 <https://github.com/pytest-dev/pytest/issues/4127>`_).
    
    Test class instances are also not listed with ``--collect-only`` anymore.
    
    
    
    Features
    --------
    
    - `4270 <https://github.com/pytest-dev/pytest/issues/4270>`_: The ``cache_dir`` option uses ``$TOX_ENV_DIR`` as prefix (if set in the environment).
    
    This uses a different cache per tox environment by default.
    
    
    
    Bug Fixes
    ---------
    
    - `3554 <https://github.com/pytest-dev/pytest/issues/3554>`_: Fix ``CallInfo.__repr__`` for when the call is not finished yet.
    
    Links
    • PyPI: https://pypi.org/project/pytest
    • Changelog: https://pyup.io/changelogs/pytest/
    • Homepage: https://docs.pytest.org/en/latest/
    opened by pyup-bot 2
  • Scheduled daily dependency update on sunday

    Scheduled daily dependency update on sunday

    Update pytest from 3.9.2 to 3.9.3.

    Changelog

    3.9.3

    =========================
    
    Bug Fixes
    ---------
    
    - `4174 <https://github.com/pytest-dev/pytest/issues/4174>`_: Fix "ValueError: Plugin already registered" with conftest plugins via symlink.
    
    
    - `4181 <https://github.com/pytest-dev/pytest/issues/4181>`_: Handle race condition between creation and deletion of temporary folders.
    
    
    - `4221 <https://github.com/pytest-dev/pytest/issues/4221>`_: Fix bug where the warning summary at the end of the test session was not showing the test where the warning was originated.
    
    
    - `4243 <https://github.com/pytest-dev/pytest/issues/4243>`_: Fix regression when ``stacklevel`` for warnings was passed as positional argument on python2.
    
    
    
    Improved Documentation
    ----------------------
    
    - `3851 <https://github.com/pytest-dev/pytest/issues/3851>`_: Add reference to ``empty_parameter_set_mark`` ini option in documentation of ``pytest.mark.parametrize``
    
    
    
    Trivial/Internal Changes
    ------------------------
    
    - `4028 <https://github.com/pytest-dev/pytest/issues/4028>`_: Revert patching of ``sys.breakpointhook`` since it appears to do nothing.
    
    
    - `4233 <https://github.com/pytest-dev/pytest/issues/4233>`_: Apply an import sorter (``reorder-python-imports``) to the codebase.
    
    
    - `4248 <https://github.com/pytest-dev/pytest/issues/4248>`_: Remove use of unnecessary compat shim, six.binary_type
    
    Links
    • PyPI: https://pypi.org/project/pytest
    • Changelog: https://pyup.io/changelogs/pytest/
    • Homepage: https://docs.pytest.org/en/latest/
    opened by pyup-bot 2
  • Scheduled daily dependency update on sunday

    Scheduled daily dependency update on sunday

    Update pytest from 3.7.0 to 3.7.1.

    Changelog

    3.7.1

    =========================
    
    Bug Fixes
    ---------
    
    - `3473 <https://github.com/pytest-dev/pytest/issues/3473>`_: Raise immediately if ``approx()`` is given an expected value of a type it doesn't understand (e.g. strings, nested dicts, etc.).
    
    
    - `3712 <https://github.com/pytest-dev/pytest/issues/3712>`_: Correctly represent the dimensions of an numpy array when calling ``repr()`` on ``approx()``.
    
    - `3742 <https://github.com/pytest-dev/pytest/issues/3742>`_: Fix incompatibility with third party plugins during collection, which produced the error ``object has no attribute '_collectfile'``.
    
    - `3745 <https://github.com/pytest-dev/pytest/issues/3745>`_: Display the absolute path if ``cache_dir`` is not relative to the ``rootdir`` instead of failing.
    
    
    - `3747 <https://github.com/pytest-dev/pytest/issues/3747>`_: Fix compatibility problem with plugins and the warning code issued by fixture functions when they are called directly.
    
    
    - `3748 <https://github.com/pytest-dev/pytest/issues/3748>`_: Fix infinite recursion in ``pytest.approx`` with arrays in ``numpy<1.13``.
    
    
    - `3757 <https://github.com/pytest-dev/pytest/issues/3757>`_: Pin pathlib2 to ``>=2.2.0`` as we require ``__fspath__`` support.
    
    
    - `3763 <https://github.com/pytest-dev/pytest/issues/3763>`_: Fix ``TypeError`` when the assertion message is ``bytes`` in python 3.
    
    Links
    • PyPI: https://pypi.org/project/pytest
    • Changelog: https://pyup.io/changelogs/pytest/
    • Repo: https://github.com/pytest-dev/pytest/issues
    • Homepage: http://pytest.org
    opened by pyup-bot 2
  • Scheduled daily dependency update on saturday

    Scheduled daily dependency update on saturday

    Update pytest from 3.7.0 to 3.7.1.

    Changelog

    3.7.1

    =========================
    
    Bug Fixes
    ---------
    
    - `3473 <https://github.com/pytest-dev/pytest/issues/3473>`_: Raise immediately if ``approx()`` is given an expected value of a type it doesn't understand (e.g. strings, nested dicts, etc.).
    
    
    - `3712 <https://github.com/pytest-dev/pytest/issues/3712>`_: Correctly represent the dimensions of an numpy array when calling ``repr()`` on ``approx()``.
    
    - `3742 <https://github.com/pytest-dev/pytest/issues/3742>`_: Fix incompatibility with third party plugins during collection, which produced the error ``object has no attribute '_collectfile'``.
    
    - `3745 <https://github.com/pytest-dev/pytest/issues/3745>`_: Display the absolute path if ``cache_dir`` is not relative to the ``rootdir`` instead of failing.
    
    
    - `3747 <https://github.com/pytest-dev/pytest/issues/3747>`_: Fix compatibility problem with plugins and the warning code issued by fixture functions when they are called directly.
    
    
    - `3748 <https://github.com/pytest-dev/pytest/issues/3748>`_: Fix infinite recursion in ``pytest.approx`` with arrays in ``numpy<1.13``.
    
    
    - `3757 <https://github.com/pytest-dev/pytest/issues/3757>`_: Pin pathlib2 to ``>=2.2.0`` as we require ``__fspath__`` support.
    
    
    - `3763 <https://github.com/pytest-dev/pytest/issues/3763>`_: Fix ``TypeError`` when the assertion message is ``bytes`` in python 3.
    
    Links
    • PyPI: https://pypi.org/project/pytest
    • Changelog: https://pyup.io/changelogs/pytest/
    • Repo: https://github.com/pytest-dev/pytest/issues
    • Homepage: http://pytest.org
    opened by pyup-bot 2
Releases(1.0.1)
🌐 URL parsing and manipulation made easy.

furl is a small Python library that makes parsing and manipulating URLs easy. Python's standard urllib and urlparse modules provide a number of URL re

Ansgar Grunseid 2.4k Jan 04, 2023
Qysqa - URL shortener website with python

Qysqa - shorten your URL. ~ A simple URL-shortening website. how do you pronounc

Dastan Ozgeldi 0 Nov 18, 2022
Astra is a tool to find URLs and secrets.

Astra finds urls, endpoints, aws buckets, api keys, tokens, etc from a given url/s. It combines the paths and endpoints with the given domain and give

Stinger 198 Dec 27, 2022
a url shortener project from semicolonworld

Url Shortener With Django Written by Semicolon World

3 Aug 24, 2021
Ukiyo - A simple, minimalist and efficient discord vanity URL sniper

Ukiyo - a simple, minimalist and efficient discord vanity URL sniper. Ukiyo is easy to use, has a very visually pleasing interface, and has great spee

13 Apr 14, 2022
find all the URL of a site with a specific Regex

href this program will find all the link with a spesfic Regex pattern from a site. what it will do in any site there are a lots of url that may you ne

Arya Shabane 12 Dec 05, 2022
ShortenURL-model - The model layer class for shorten url service

ShortenURL Model The model layer class for shorten URL service Usage Complete th

TwinIsland 1 Jan 07, 2022
encurtador de links feito com python

curt-link encurtador de links feito com python! instalação Linux: $ git clone https://github.com/bydeathlxncer/curt-link $ cd curt-link $ python3 url.

bydeathlxncer 5 Dec 29, 2021
A simple, immutable URL class with a clean API for interrogation and manipulation.

purl - A simple Python URL class A simple, immutable URL class with a clean API for interrogation and manipulation. Supports Pythons 2.7, 3.3, 3.4, 3.

David Winterbottom 286 Jan 02, 2023
A url shortner written in Flask.

url-shortener-elitmus This is a simple flask app which takes an URL and shortens it. This shortened verion of the URL redirects to the user to the lon

2 Nov 23, 2021
Have you ever wondered: Where does this link go? The REDLI Tool follows the path of the URL.

Have you ever wondered: Where does this link go? The REDLI Tool follows the path of the URL. It allows you to see the complete path a redirected URL goes through. It will show you the full redirectio

JAYAKUMAR 28 Sep 11, 2022
A teeny Tiny module to check URLs against discord's list of phishing domains

A teeny Tiny module to check URLs against discord's list of phishing domains

kaj 1 Aug 29, 2022
🔗 FusiShort is a URL shortener built with Python, Redis, Docker and Kubernetes

This is a playground application created with goal of applying full cycle software development using popular technologies like Python, Redis, Docker and Kubernetes.

Lucas Fusinato Zanis 7 Nov 10, 2022
:electric_plug: Generating short urls with python has never been easier

pyshorteners A simple URL shortening API wrapper Python library. Installing pip install pyshorteners Documentation https://pyshorteners.readthedocs.i

Ellison 350 Dec 24, 2022
Yet another URL library

Yet another URL library

aio-libs 884 Jan 03, 2023
UDdup - URLs Deduplication Tool

UDdup - URLs Deduplication Tool The tool gets a list of URLs, and removes "duplicate" pages in the sense of URL patterns that are probably repetitive

Rotem Reiss 128 Dec 21, 2022
A friendly library for parsing HTTP request arguments, with built-in support for popular web frameworks, including Flask, Django, Bottle, Tornado, Pyramid, webapp2, Falcon, and aiohttp.

webargs Homepage: https://webargs.readthedocs.io/ webargs is a Python library for parsing and validating HTTP request objects, with built-in support f

marshmallow-code 1.3k Jan 01, 2023
URL Shortener in Flask - Web service using Flask framework for Shortener URLs

URL Shortener in Flask Web service using Flask framework for Shortener URLs Install Create Virtual env $ python3 -m venv env Install requirements.txt

Rafnix Guzman 1 Sep 21, 2021
python3 flask based python-url-shortener microservice.

python-url-shortener This repository is for managing all public/private entity specific api endpoints for an organisation. In this case we have entity

Asutosh Parida 1 Oct 18, 2021
A simple URL shortener app using Python AWS Chalice, AWS Lambda and AWS Dynamodb.

url-shortener-chalice A simple URL shortener app using AWS Chalice. Please make sure you configure your AWS credentials using AWS CLI before starting

Ranadeep Ghosh 2 Dec 09, 2022