shucker


Nameshucker JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryTracking-param filtering library, designed to strip URLs down to their canonical forms
upload_time2024-12-31 15:07:56
maintainerNone
docs_urlNone
authorTom Parker-Shemilt <palfrey@tevp.net>
requires_pythonNone
licenseGPL-3.0-only
keywords adblock url tracking
VCS
bugtrack_url
requirements certifi cffi charset-normalizer cryptography docutils idna iniconfig jaraco-classes jaraco-context jaraco-functools jeepney keyring markdown-it-py maturin mdurl more-itertools nh3 nodeenv packaging pkginfo pluggy pycparser pygments pyright pytest pytest-watcher readme-renderer requests requests-toolbelt rfc3986 rich secretstorage twine typing-extensions urllib3 watchdog
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Shucker
=======

Shucker is a tracking-param filtering library, designed to strip URLs down to their canonical forms. It contains internally a set of rules derived from the [AdguardFilters](https://github.com/AdguardTeam/AdguardFilters) TrackParamFilter set, and then stripped down be able to be runnable outside of a browser. Note that although the original filters were designed for Javascript-based browser extensions, Shucker's core is a pure-Rust implementation for raw speed (some testing done against Hyperfine, but certainly seems fast enough so far i.e. < 1ms).

There is an [example command line tool provided](src/bin/shuck.rs) (`cargo run --bin shuck <list of urls>`) but the main usage will either be via the `shucker::shuck` fn, or the Python `shucker` library with `shucker.shuck` (which is mostly a thin wrapper over the Rust code), both of which take a URL and return a version of it without the ad-tracking.

Rebuilding the rules set
------------------------
`make rebuild_rules` will pull the latest upstream rules and rebuild.

Licensing
---------
The actual core Shucker code (i.e. everything _except_ the `external/adguardfilters` folder) is licensed under the [LGPL v3](https://www.gnu.org/licenses/lgpl-3.0.en.html). However, the `external/adguardfilters` code is [GPL v3](external/adguardfilters/LICENSE) and as that is used as part of the build-time generation of Shucker currently, the overall library is therefore GPLv3. This might change in the future if we remove said build-time requirement though.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "shucker",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "adblock, url, tracking",
    "author": "Tom Parker-Shemilt <palfrey@tevp.net>",
    "author_email": "Tom Parker-Shemilt <palfrey@tevp.net>",
    "download_url": "https://files.pythonhosted.org/packages/df/4d/e6c771f3f649efeda72152a6bcf0c41a26fa58344915ff6885c19c4dfe6f/shucker-0.1.1.tar.gz",
    "platform": null,
    "description": "Shucker\n=======\n\nShucker is a tracking-param filtering library, designed to strip URLs down to their canonical forms. It contains internally a set of rules derived from the [AdguardFilters](https://github.com/AdguardTeam/AdguardFilters) TrackParamFilter set, and then stripped down be able to be runnable outside of a browser. Note that although the original filters were designed for Javascript-based browser extensions, Shucker's core is a pure-Rust implementation for raw speed (some testing done against Hyperfine, but certainly seems fast enough so far i.e. < 1ms).\n\nThere is an [example command line tool provided](src/bin/shuck.rs) (`cargo run --bin shuck <list of urls>`) but the main usage will either be via the `shucker::shuck` fn, or the Python `shucker` library with `shucker.shuck` (which is mostly a thin wrapper over the Rust code), both of which take a URL and return a version of it without the ad-tracking.\n\nRebuilding the rules set\n------------------------\n`make rebuild_rules` will pull the latest upstream rules and rebuild.\n\nLicensing\n---------\nThe actual core Shucker code (i.e. everything _except_ the `external/adguardfilters` folder) is licensed under the [LGPL v3](https://www.gnu.org/licenses/lgpl-3.0.en.html). However, the `external/adguardfilters` code is [GPL v3](external/adguardfilters/LICENSE) and as that is used as part of the build-time generation of Shucker currently, the overall library is therefore GPLv3. This might change in the future if we remove said build-time requirement though.\n",
    "bugtrack_url": null,
    "license": "GPL-3.0-only",
    "summary": "Tracking-param filtering library, designed to strip URLs down to their canonical forms",
    "version": "0.1.1",
    "project_urls": {
        "Source Code": "https://github.com/palfrey/shucker"
    },
    "split_keywords": [
        "adblock",
        " url",
        " tracking"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "58fbd54748b834bf49327b6c46145a7eb4e3d829f5af7d695e1a41c57a04a6d2",
                "md5": "778a73dc516170c5c4abe46d99d3cb60",
                "sha256": "8ba116449f29cbe6413fa574b4b563d32ef062b6c52df291e3ff93bf726ba1bd"
            },
            "downloads": -1,
            "filename": "shucker-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "778a73dc516170c5c4abe46d99d3cb60",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 1226384,
            "upload_time": "2024-12-31T15:07:44",
            "upload_time_iso_8601": "2024-12-31T15:07:44.811210Z",
            "url": "https://files.pythonhosted.org/packages/58/fb/d54748b834bf49327b6c46145a7eb4e3d829f5af7d695e1a41c57a04a6d2/shucker-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0dcca7037af359415386ca88f22fed8e5e95ab02733d46717ea5fafa5956b55f",
                "md5": "6562ff45009f7896e8ce98c037cb8d04",
                "sha256": "ad6e14d04cf4d614d529468fedf1dac559a64c56635350ffd3f7660b3199b765"
            },
            "downloads": -1,
            "filename": "shucker-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6562ff45009f7896e8ce98c037cb8d04",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 1226139,
            "upload_time": "2024-12-31T15:07:47",
            "upload_time_iso_8601": "2024-12-31T15:07:47.906584Z",
            "url": "https://files.pythonhosted.org/packages/0d/cc/a7037af359415386ca88f22fed8e5e95ab02733d46717ea5fafa5956b55f/shucker-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1b14d71d37ad399785fef2df7f54b097772b6558341089902918a90083df8c2f",
                "md5": "a032eede82c47f2292ae0ec0a5dd951a",
                "sha256": "0b71ae90b19f8861b1976503a8bbe6580268e492104db7a25792cdb5439f6d53"
            },
            "downloads": -1,
            "filename": "shucker-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a032eede82c47f2292ae0ec0a5dd951a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 1225162,
            "upload_time": "2024-12-31T15:07:51",
            "upload_time_iso_8601": "2024-12-31T15:07:51.167882Z",
            "url": "https://files.pythonhosted.org/packages/1b/14/d71d37ad399785fef2df7f54b097772b6558341089902918a90083df8c2f/shucker-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f373eabe558a41a6d3448c1cd987f684bbd4cc487dc53747be2c55f12b5a7909",
                "md5": "a411fccd654efd0e05fcd1ba1ba2c6cc",
                "sha256": "cbe331d65cdd9c7182bea36723e1570feaef435a88829021130509d7e7382824"
            },
            "downloads": -1,
            "filename": "shucker-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a411fccd654efd0e05fcd1ba1ba2c6cc",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 1226906,
            "upload_time": "2024-12-31T15:07:54",
            "upload_time_iso_8601": "2024-12-31T15:07:54.165747Z",
            "url": "https://files.pythonhosted.org/packages/f3/73/eabe558a41a6d3448c1cd987f684bbd4cc487dc53747be2c55f12b5a7909/shucker-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "df4de6c771f3f649efeda72152a6bcf0c41a26fa58344915ff6885c19c4dfe6f",
                "md5": "b7e55b1cb25009b24a3cfce26273ef2f",
                "sha256": "870ef451b1b1300ef935a98b78c268083b03fc4d9c87e54e080e767f4a60e32d"
            },
            "downloads": -1,
            "filename": "shucker-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "b7e55b1cb25009b24a3cfce26273ef2f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 78324,
            "upload_time": "2024-12-31T15:07:56",
            "upload_time_iso_8601": "2024-12-31T15:07:56.696969Z",
            "url": "https://files.pythonhosted.org/packages/df/4d/e6c771f3f649efeda72152a6bcf0c41a26fa58344915ff6885c19c4dfe6f/shucker-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-31 15:07:56",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "palfrey",
    "github_project": "shucker",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2024.12.14"
                ]
            ]
        },
        {
            "name": "cffi",
            "specs": [
                [
                    "==",
                    "1.17.1"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "3.4.1"
                ]
            ]
        },
        {
            "name": "cryptography",
            "specs": [
                [
                    "==",
                    "44.0.0"
                ]
            ]
        },
        {
            "name": "docutils",
            "specs": [
                [
                    "==",
                    "0.21.2"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.10"
                ]
            ]
        },
        {
            "name": "iniconfig",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "jaraco-classes",
            "specs": [
                [
                    "==",
                    "3.4.0"
                ]
            ]
        },
        {
            "name": "jaraco-context",
            "specs": [
                [
                    "==",
                    "6.0.1"
                ]
            ]
        },
        {
            "name": "jaraco-functools",
            "specs": [
                [
                    "==",
                    "4.1.0"
                ]
            ]
        },
        {
            "name": "jeepney",
            "specs": [
                [
                    "==",
                    "0.8.0"
                ]
            ]
        },
        {
            "name": "keyring",
            "specs": [
                [
                    "==",
                    "25.6.0"
                ]
            ]
        },
        {
            "name": "markdown-it-py",
            "specs": [
                [
                    "==",
                    "3.0.0"
                ]
            ]
        },
        {
            "name": "maturin",
            "specs": [
                [
                    "==",
                    "1.8.0"
                ]
            ]
        },
        {
            "name": "mdurl",
            "specs": [
                [
                    "==",
                    "0.1.2"
                ]
            ]
        },
        {
            "name": "more-itertools",
            "specs": [
                [
                    "==",
                    "10.5.0"
                ]
            ]
        },
        {
            "name": "nh3",
            "specs": [
                [
                    "==",
                    "0.2.20"
                ]
            ]
        },
        {
            "name": "nodeenv",
            "specs": [
                [
                    "==",
                    "1.9.1"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "24.2"
                ]
            ]
        },
        {
            "name": "pkginfo",
            "specs": [
                [
                    "==",
                    "1.12.0"
                ]
            ]
        },
        {
            "name": "pluggy",
            "specs": [
                [
                    "==",
                    "1.5.0"
                ]
            ]
        },
        {
            "name": "pycparser",
            "specs": [
                [
                    "==",
                    "2.22"
                ]
            ]
        },
        {
            "name": "pygments",
            "specs": [
                [
                    "==",
                    "2.18.0"
                ]
            ]
        },
        {
            "name": "pyright",
            "specs": [
                [
                    "==",
                    "1.1.391"
                ]
            ]
        },
        {
            "name": "pytest",
            "specs": [
                [
                    "==",
                    "8.3.4"
                ]
            ]
        },
        {
            "name": "pytest-watcher",
            "specs": [
                [
                    "==",
                    "0.4.3"
                ]
            ]
        },
        {
            "name": "readme-renderer",
            "specs": [
                [
                    "==",
                    "44.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.32.3"
                ]
            ]
        },
        {
            "name": "requests-toolbelt",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "rfc3986",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "rich",
            "specs": [
                [
                    "==",
                    "13.9.4"
                ]
            ]
        },
        {
            "name": "secretstorage",
            "specs": [
                [
                    "==",
                    "3.3.3"
                ]
            ]
        },
        {
            "name": "twine",
            "specs": [
                [
                    "==",
                    "6.0.1"
                ]
            ]
        },
        {
            "name": "typing-extensions",
            "specs": [
                [
                    "==",
                    "4.12.2"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "2.3.0"
                ]
            ]
        },
        {
            "name": "watchdog",
            "specs": [
                [
                    "==",
                    "6.0.0"
                ]
            ]
        }
    ],
    "lcname": "shucker"
}
        
Elapsed time: 3.23882s