goose3


Namegoose3 JSON
Version 3.1.19 PyPI version JSON
download
home_pagehttps://github.com/goose3/goose3
SummaryHtml Content / Article Extractor, web scrapping for Python3
upload_time2024-01-19 16:22:12
maintainer
docs_urlNone
authorMahmoud Lababidi
requires_python>=3.7
licenseApache
keywords python scrapping extractor web scrapping nlp
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Goose3 - Article Extractor
===============================================

.. image:: https://img.shields.io/badge/license-Apache_2.0-blue.svg
    :target: https://opensource.org/licenses/Apache-2.0/
    :alt: License
.. image:: https://github.com/goose3/goose3/workflows/Python%20package/badge.svg?branch=master
    :target: https://github.com/goose3/goose3/actions?query=workflow%3A%22Python+package%22
    :alt: Build Status
.. image:: https://img.shields.io/github/release/goose3/goose3.svg
    :target: https://github.com/goose3/goose3/releases
    :alt: GitHub release
.. image:: https://codecov.io/gh/goose3/goose3/branch/master/graph/badge.svg?token=PoWLaCLbW1
    :target: https://codecov.io/gh/goose3/goose3
    :alt: Test Coverage
.. image:: https://badge.fury.io/py/goose3.svg
    :target: https://badge.fury.io/py/goose3
    :alt: PyPi Release
.. image:: http://pepy.tech/badge/goose3
    :target: https://pepy.tech/project/goose3
    :alt: Downloads

Intro
--------------------------------------------------------------------------------

Goose was originally an article extractor written in Java that has most
recently (Aug2011) been converted to a `scala project <https://github.com/GravityLabs/goose>`_.

This is a complete rewrite in Python. The aim of the software is to
take any news article or article-type web page and not only extract what
is the main body of the article but also all meta data and most probable
image candidate.

Goose will try to extract the following information:

-  Main text of an article
-  Main image of article
-  Any YouTube/Vimeo movies embedded in article
-  Meta Description
-  Meta tags

The Python version was originally rewritten by:

-  Xavier Grangier

Licensing
--------------------------------------------------------------------------------

If you find Goose useful or have issues please drop me a line. I'd love
to hear how you're using it or what features should be improved.

Goose is licensed by Gravity.com under the Apache 2.0 license; see the
LICENSE file for more details.

On-line Documentation
--------------------------------------------------------------------------------
On-line documentation is available on
`Read the Docs <https://goose3.readthedocs.io>`_ which contains more in-depth
documentation.

Setup
--------------------------------------------------------------------------------

To install using pip, with all supported languages, which will install additional dependencies:

.. code-block::

    pip install goose3[all]

To install the minimal version:

.. code-block::

    pip install goose3

To install just the dependencies for a single language:

.. code-block::

    pip install goose3[chinese]
    pip install goose3[arabic]

To install from source:

.. code-block::

    mkvirtualenv --no-site-packages goose3
    git clone https://github.com/goose3/goose3.git
    cd goose3
    pip install -r ./requirements/python
    python setup.py install

Take it for a spin
--------------------------------------------------------------------------------

.. code-block:: python

    >>> from goose3 import Goose
    >>> url = 'http://edition.cnn.com/2012/02/22/world/europe/uk-occupy-london/index.html?hpt=ieu_c2'
    >>> g = Goose()
    >>> article = g.extract(url=url)
    >>> article.title
    u'Occupy London loses eviction fight'
    >>> article.meta_description
    "Occupy London protesters who have been camped outside the landmark St. Paul's Cathedral for the past four months lost their court bid to avoid eviction Wednesday in a decision made by London's Court of Appeal."
    >>> article.cleaned_text[:150]
    (CNN) - Occupy London protesters who have been camped outside the landmark St. Paul's Cathedral for the past four months lost their court bid to avoi
    >>> article.top_image.src
    http://i2.cdn.turner.com/cnn/dam/assets/111017024308-occupy-london-st-paul-s-cathedral-story-top.jpg

Configuration
--------------------------------------------------------------------------------

There are two ways to pass configuration to goose. The first one is to
pass goose a Configuration() object. The second one is to pass a
configuration dict.

For instance, if you want to change the userAgent used by Goose just
pass:

.. code-block:: python

    >>> g = Goose({'browser_user_agent': 'Mozilla'})

Switching parsers: Goose can now be used with lxml html parser or lxml
soup parser. By default the html parser is used. If you want to use the
soup parser pass it in the configuration dict :

.. code-block:: python

    >>> g = Goose({'browser_user_agent': 'Mozilla', 'parser_class':'soup'})

One can also set Goose to be more lenient on network exceptions. To turn off
throwing all network exceptions, set the strict configuration setting to false:

.. code-block:: python

    >>> g = Goose({'strict': False})


To turn on image fetching, one can simply enable it using the enable_image_fetching
configuration property:

.. code-block:: python

    >>> g = Goose({'enable_image_fetching': True})


Goose is now language aware
--------------------------------------------------------------------------------

For example, scraping a Spanish content page with correct meta language
tags:

.. code-block:: python

    >>> from goose3 import Goose
    >>> url = 'http://sociedad.elpais.com/sociedad/2012/10/27/actualidad/1351332873_157836.html'
    >>> g = Goose()
    >>> article = g.extract(url=url)
    >>> article.title
    u'Las listas de espera se agravan'
    >>> article.cleaned_text[:150]
    u'Los recortes pasan factura a los pacientes. De diciembre de 2010 a junio de 2012 las listas de espera para operarse aumentaron un 125%. Hay m\xe1s ciudad'

Some pages don't have correct meta language tags, you can force it using
configuration :

.. code-block:: python

    >>> from goose3 import Goose
    >>> url = 'http://www.elmundo.es/elmundo/2012/10/28/espana/1351388909.html'
    >>> g = Goose({'use_meta_language': False, 'target_language':'es'})
    >>> article = g.extract(url=url)
    >>> article.cleaned_text[:150]
    u'Importante golpe a la banda terrorista ETA en Francia. La Guardia Civil ha detenido en un hotel de Macon, a 70 kil\xf3metros de Lyon, a Izaskun Lesaka y '

Passing {'use\_meta\_language': False, 'target\_language':'es'} will
forcibly select Spanish.


Video extraction
--------------------------------------------------------------------------------

.. code-block:: python

    >>> import goose3
    >>> url = 'http://www.liberation.fr/politiques/2013/08/12/journee-de-jeux-pour-ayrault-dans-les-jardins-de-matignon_924350'
    >>> g = goose3.Goose({'target_language':'fr'})
    >>> article = g.extract(url=url)
    >>> article.movies
    [<goose.videos.videos.Video object at 0x25f60d0>]
    >>> article.movies[0].src
    'http://sa.kewego.com/embed/vp/?language_code=fr&playerKey=1764a824c13c&configKey=dcc707ec373f&suffix=&sig=9bc77afb496s&autostart=false'
    >>> article.movies[0].embed_code
    '<iframe src="http://sa.kewego.com/embed/vp/?language_code=fr&amp;playerKey=1764a824c13c&amp;configKey=dcc707ec373f&amp;suffix=&amp;sig=9bc77afb496s&amp;autostart=false" frameborder="0" scrolling="no" width="476" height="357"/>'
    >>> article.movies[0].embed_type
    'iframe'
    >>> article.movies[0].width
    '476'
    >>> article.movies[0].height
    '357'


Goose in Chinese
--------------------------------------------------------------------------------

Some users want to use Goose for Chinese content. Chinese word
segmentation is way more difficult to deal with than occidental
languages. Chinese needs a dedicated StopWord analyser that need to be
passed to the config object.

.. code-block:: python

    >>> from goose3 import Goose
    >>> from goose3.text import StopWordsChinese
    >>> url  = 'http://www.bbc.co.uk/zhongwen/simp/chinese_news/2012/12/121210_hongkong_politics.shtml'
    >>> g = Goose({'stopwords_class': StopWordsChinese})
    >>> article = g.extract(url=url)
    >>> print article.cleaned_text[:150]
    香港行政长官梁振英在各方压力下就其大宅的违章建筑(僭建)问题到立法会接受质询,并向香港民众道歉。

    梁振英在星期二(12月10日)的答问大会开始之际在其演说中道歉,但强调他在违章建筑问题上没有隐瞒的意图和动机。

    一些亲北京阵营议员欢迎梁振英道歉,且认为应能获得香港民众接受,但这些议员也质问梁振英有

Goose in Arabic
--------------------------------------------------------------------------------

In order to use Goose in Arabic you have to use the StopWordsArabic
class.

.. code-block:: python

    >>> from goose3 import Goose
    >>> from goose3.text import StopWordsArabic
    >>> url = 'http://arabic.cnn.com/2013/middle_east/8/3/syria.clashes/index.html'
    >>> g = Goose({'stopwords_class': StopWordsArabic})
    >>> article = g.extract(url=url)
    >>> print article.cleaned_text[:150]
    دمشق، سوريا (CNN) - أكدت جهات سورية معارضة أن فصائل مسلحة معارضة لنظام الرئيس بشار الأسد وعلى صلة بـ"الجيش الحر" تمكنت من السيطرة على مستودعات للأسل


Goose in Korean
--------------------------------------------------------------------------------

In order to use Goose in Korean you have to use the StopWordsKorean
class.

.. code-block:: python

    >>> from goose3 import Goose
    >>> from goose3.text import StopWordsKorean
    >>> url='http://news.donga.com/3/all/20131023/58406128/1'
    >>> g = Goose({'stopwords_class':StopWordsKorean})
    >>> article = g.extract(url=url)
    >>> print article.cleaned_text[:150]
    경기도 용인에 자리 잡은 민간 시험인증 전문기업 ㈜디지털이엠씨(www.digitalemc.com).
    14년째 세계 각국의 통신·안전·전파 규격 시험과 인증 한 우물만 파고 있는 이 회사 박채규 대표가 만나기로 한 주인공이다.
    그는 전기전자·무선통신·자동차 전장품 분야에

TODO
--------------------------------------------------------------------------------

-  Video html5 tag extraction

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/goose3/goose3",
    "name": "goose3",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "python,scrapping,extractor,web scrapping,nlp",
    "author": "Mahmoud Lababidi",
    "author_email": "lababidi+py@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ff/61/638cdd8687572776d933e96bf1f5d141f9e11aca53742f521cbe88cce659/goose3-3.1.19.tar.gz",
    "platform": null,
    "description": "Goose3 - Article Extractor\n===============================================\n\n.. image:: https://img.shields.io/badge/license-Apache_2.0-blue.svg\n    :target: https://opensource.org/licenses/Apache-2.0/\n    :alt: License\n.. image:: https://github.com/goose3/goose3/workflows/Python%20package/badge.svg?branch=master\n    :target: https://github.com/goose3/goose3/actions?query=workflow%3A%22Python+package%22\n    :alt: Build Status\n.. image:: https://img.shields.io/github/release/goose3/goose3.svg\n    :target: https://github.com/goose3/goose3/releases\n    :alt: GitHub release\n.. image:: https://codecov.io/gh/goose3/goose3/branch/master/graph/badge.svg?token=PoWLaCLbW1\n    :target: https://codecov.io/gh/goose3/goose3\n    :alt: Test Coverage\n.. image:: https://badge.fury.io/py/goose3.svg\n    :target: https://badge.fury.io/py/goose3\n    :alt: PyPi Release\n.. image:: http://pepy.tech/badge/goose3\n    :target: https://pepy.tech/project/goose3\n    :alt: Downloads\n\nIntro\n--------------------------------------------------------------------------------\n\nGoose was originally an article extractor written in Java that has most\nrecently (Aug2011) been converted to a `scala project <https://github.com/GravityLabs/goose>`_.\n\nThis is a complete rewrite in Python. The aim of the software is to\ntake any news article or article-type web page and not only extract what\nis the main body of the article but also all meta data and most probable\nimage candidate.\n\nGoose will try to extract the following information:\n\n-  Main text of an article\n-  Main image of article\n-  Any YouTube/Vimeo movies embedded in article\n-  Meta Description\n-  Meta tags\n\nThe Python version was originally rewritten by:\n\n-  Xavier Grangier\n\nLicensing\n--------------------------------------------------------------------------------\n\nIf you find Goose useful or have issues please drop me a line. I'd love\nto hear how you're using it or what features should be improved.\n\nGoose is licensed by Gravity.com under the Apache 2.0 license; see the\nLICENSE file for more details.\n\nOn-line Documentation\n--------------------------------------------------------------------------------\nOn-line documentation is available on\n`Read the Docs <https://goose3.readthedocs.io>`_ which contains more in-depth\ndocumentation.\n\nSetup\n--------------------------------------------------------------------------------\n\nTo install using pip, with all supported languages, which will install additional dependencies:\n\n.. code-block::\n\n    pip install goose3[all]\n\nTo install the minimal version:\n\n.. code-block::\n\n    pip install goose3\n\nTo install just the dependencies for a single language:\n\n.. code-block::\n\n    pip install goose3[chinese]\n    pip install goose3[arabic]\n\nTo install from source:\n\n.. code-block::\n\n    mkvirtualenv --no-site-packages goose3\n    git clone https://github.com/goose3/goose3.git\n    cd goose3\n    pip install -r ./requirements/python\n    python setup.py install\n\nTake it for a spin\n--------------------------------------------------------------------------------\n\n.. code-block:: python\n\n    >>> from goose3 import Goose\n    >>> url = 'http://edition.cnn.com/2012/02/22/world/europe/uk-occupy-london/index.html?hpt=ieu_c2'\n    >>> g = Goose()\n    >>> article = g.extract(url=url)\n    >>> article.title\n    u'Occupy London loses eviction fight'\n    >>> article.meta_description\n    \"Occupy London protesters who have been camped outside the landmark St. Paul's Cathedral for the past four months lost their court bid to avoid eviction Wednesday in a decision made by London's Court of Appeal.\"\n    >>> article.cleaned_text[:150]\n    (CNN) - Occupy London protesters who have been camped outside the landmark St. Paul's Cathedral for the past four months lost their court bid to avoi\n    >>> article.top_image.src\n    http://i2.cdn.turner.com/cnn/dam/assets/111017024308-occupy-london-st-paul-s-cathedral-story-top.jpg\n\nConfiguration\n--------------------------------------------------------------------------------\n\nThere are two ways to pass configuration to goose. The first one is to\npass goose a Configuration() object. The second one is to pass a\nconfiguration dict.\n\nFor instance, if you want to change the userAgent used by Goose just\npass:\n\n.. code-block:: python\n\n    >>> g = Goose({'browser_user_agent': 'Mozilla'})\n\nSwitching parsers: Goose can now be used with lxml html parser or lxml\nsoup parser. By default the html parser is used. If you want to use the\nsoup parser pass it in the configuration dict :\n\n.. code-block:: python\n\n    >>> g = Goose({'browser_user_agent': 'Mozilla', 'parser_class':'soup'})\n\nOne can also set Goose to be more lenient on network exceptions. To turn off\nthrowing all network exceptions, set the strict configuration setting to false:\n\n.. code-block:: python\n\n    >>> g = Goose({'strict': False})\n\n\nTo turn on image fetching, one can simply enable it using the enable_image_fetching\nconfiguration property:\n\n.. code-block:: python\n\n    >>> g = Goose({'enable_image_fetching': True})\n\n\nGoose is now language aware\n--------------------------------------------------------------------------------\n\nFor example, scraping a Spanish content page with correct meta language\ntags:\n\n.. code-block:: python\n\n    >>> from goose3 import Goose\n    >>> url = 'http://sociedad.elpais.com/sociedad/2012/10/27/actualidad/1351332873_157836.html'\n    >>> g = Goose()\n    >>> article = g.extract(url=url)\n    >>> article.title\n    u'Las listas de espera se agravan'\n    >>> article.cleaned_text[:150]\n    u'Los recortes pasan factura a los pacientes. De diciembre de 2010 a junio de 2012 las listas de espera para operarse aumentaron un 125%. Hay m\\xe1s ciudad'\n\nSome pages don't have correct meta language tags, you can force it using\nconfiguration :\n\n.. code-block:: python\n\n    >>> from goose3 import Goose\n    >>> url = 'http://www.elmundo.es/elmundo/2012/10/28/espana/1351388909.html'\n    >>> g = Goose({'use_meta_language': False, 'target_language':'es'})\n    >>> article = g.extract(url=url)\n    >>> article.cleaned_text[:150]\n    u'Importante golpe a la banda terrorista ETA en Francia. La Guardia Civil ha detenido en un hotel de Macon, a 70 kil\\xf3metros de Lyon, a Izaskun Lesaka y '\n\nPassing {'use\\_meta\\_language': False, 'target\\_language':'es'} will\nforcibly select Spanish.\n\n\nVideo extraction\n--------------------------------------------------------------------------------\n\n.. code-block:: python\n\n    >>> import goose3\n    >>> url = 'http://www.liberation.fr/politiques/2013/08/12/journee-de-jeux-pour-ayrault-dans-les-jardins-de-matignon_924350'\n    >>> g = goose3.Goose({'target_language':'fr'})\n    >>> article = g.extract(url=url)\n    >>> article.movies\n    [<goose.videos.videos.Video object at 0x25f60d0>]\n    >>> article.movies[0].src\n    'http://sa.kewego.com/embed/vp/?language_code=fr&playerKey=1764a824c13c&configKey=dcc707ec373f&suffix=&sig=9bc77afb496s&autostart=false'\n    >>> article.movies[0].embed_code\n    '<iframe src=\"http://sa.kewego.com/embed/vp/?language_code=fr&amp;playerKey=1764a824c13c&amp;configKey=dcc707ec373f&amp;suffix=&amp;sig=9bc77afb496s&amp;autostart=false\" frameborder=\"0\" scrolling=\"no\" width=\"476\" height=\"357\"/>'\n    >>> article.movies[0].embed_type\n    'iframe'\n    >>> article.movies[0].width\n    '476'\n    >>> article.movies[0].height\n    '357'\n\n\nGoose in Chinese\n--------------------------------------------------------------------------------\n\nSome users want to use Goose for Chinese content. Chinese word\nsegmentation is way more difficult to deal with than occidental\nlanguages. Chinese needs a dedicated StopWord analyser that need to be\npassed to the config object.\n\n.. code-block:: python\n\n    >>> from goose3 import Goose\n    >>> from goose3.text import StopWordsChinese\n    >>> url  = 'http://www.bbc.co.uk/zhongwen/simp/chinese_news/2012/12/121210_hongkong_politics.shtml'\n    >>> g = Goose({'stopwords_class': StopWordsChinese})\n    >>> article = g.extract(url=url)\n    >>> print article.cleaned_text[:150]\n    \u9999\u6e2f\u884c\u653f\u957f\u5b98\u6881\u632f\u82f1\u5728\u5404\u65b9\u538b\u529b\u4e0b\u5c31\u5176\u5927\u5b85\u7684\u8fdd\u7ae0\u5efa\u7b51\uff08\u50ed\u5efa\uff09\u95ee\u9898\u5230\u7acb\u6cd5\u4f1a\u63a5\u53d7\u8d28\u8be2\uff0c\u5e76\u5411\u9999\u6e2f\u6c11\u4f17\u9053\u6b49\u3002\n\n    \u6881\u632f\u82f1\u5728\u661f\u671f\u4e8c\uff0812\u670810\u65e5\uff09\u7684\u7b54\u95ee\u5927\u4f1a\u5f00\u59cb\u4e4b\u9645\u5728\u5176\u6f14\u8bf4\u4e2d\u9053\u6b49\uff0c\u4f46\u5f3a\u8c03\u4ed6\u5728\u8fdd\u7ae0\u5efa\u7b51\u95ee\u9898\u4e0a\u6ca1\u6709\u9690\u7792\u7684\u610f\u56fe\u548c\u52a8\u673a\u3002\n\n    \u4e00\u4e9b\u4eb2\u5317\u4eac\u9635\u8425\u8bae\u5458\u6b22\u8fce\u6881\u632f\u82f1\u9053\u6b49\uff0c\u4e14\u8ba4\u4e3a\u5e94\u80fd\u83b7\u5f97\u9999\u6e2f\u6c11\u4f17\u63a5\u53d7\uff0c\u4f46\u8fd9\u4e9b\u8bae\u5458\u4e5f\u8d28\u95ee\u6881\u632f\u82f1\u6709\n\nGoose in Arabic\n--------------------------------------------------------------------------------\n\nIn order to use Goose in Arabic you have to use the StopWordsArabic\nclass.\n\n.. code-block:: python\n\n    >>> from goose3 import Goose\n    >>> from goose3.text import StopWordsArabic\n    >>> url = 'http://arabic.cnn.com/2013/middle_east/8/3/syria.clashes/index.html'\n    >>> g = Goose({'stopwords_class': StopWordsArabic})\n    >>> article = g.extract(url=url)\n    >>> print article.cleaned_text[:150]\n    \u062f\u0645\u0634\u0642\u060c \u0633\u0648\u0631\u064a\u0627 (CNN) - \u0623\u0643\u062f\u062a \u062c\u0647\u0627\u062a \u0633\u0648\u0631\u064a\u0629 \u0645\u0639\u0627\u0631\u0636\u0629 \u0623\u0646 \u0641\u0635\u0627\u0626\u0644 \u0645\u0633\u0644\u062d\u0629 \u0645\u0639\u0627\u0631\u0636\u0629 \u0644\u0646\u0638\u0627\u0645 \u0627\u0644\u0631\u0626\u064a\u0633 \u0628\u0634\u0627\u0631 \u0627\u0644\u0623\u0633\u062f \u0648\u0639\u0644\u0649 \u0635\u0644\u0629 \u0628\u0640\"\u0627\u0644\u062c\u064a\u0634 \u0627\u0644\u062d\u0631\" \u062a\u0645\u0643\u0646\u062a \u0645\u0646 \u0627\u0644\u0633\u064a\u0637\u0631\u0629 \u0639\u0644\u0649 \u0645\u0633\u062a\u0648\u062f\u0639\u0627\u062a \u0644\u0644\u0623\u0633\u0644\n\n\nGoose in Korean\n--------------------------------------------------------------------------------\n\nIn order to use Goose in Korean you have to use the StopWordsKorean\nclass.\n\n.. code-block:: python\n\n    >>> from goose3 import Goose\n    >>> from goose3.text import StopWordsKorean\n    >>> url='http://news.donga.com/3/all/20131023/58406128/1'\n    >>> g = Goose({'stopwords_class':StopWordsKorean})\n    >>> article = g.extract(url=url)\n    >>> print article.cleaned_text[:150]\n    \uacbd\uae30\ub3c4 \uc6a9\uc778\uc5d0 \uc790\ub9ac \uc7a1\uc740 \ubbfc\uac04 \uc2dc\ud5d8\uc778\uc99d \uc804\ubb38\uae30\uc5c5 \u321c\ub514\uc9c0\ud138\uc774\uc5e0\uc528(www.digitalemc.com).\n    14\ub144\uc9f8 \uc138\uacc4 \uac01\uad6d\uc758 \ud1b5\uc2e0\u00b7\uc548\uc804\u00b7\uc804\ud30c \uaddc\uaca9 \uc2dc\ud5d8\uacfc \uc778\uc99d \ud55c \uc6b0\ubb3c\ub9cc \ud30c\uace0 \uc788\ub294 \uc774 \ud68c\uc0ac \ubc15\ucc44\uaddc \ub300\ud45c\uac00 \ub9cc\ub098\uae30\ub85c \ud55c \uc8fc\uc778\uacf5\uc774\ub2e4.\n    \uadf8\ub294 \uc804\uae30\uc804\uc790\u00b7\ubb34\uc120\ud1b5\uc2e0\u00b7\uc790\ub3d9\ucc28 \uc804\uc7a5\ud488 \ubd84\uc57c\uc5d0\n\nTODO\n--------------------------------------------------------------------------------\n\n-  Video html5 tag extraction\n",
    "bugtrack_url": null,
    "license": "Apache",
    "summary": "Html Content / Article Extractor, web scrapping for Python3",
    "version": "3.1.19",
    "project_urls": {
        "Homepage": "https://github.com/goose3/goose3"
    },
    "split_keywords": [
        "python",
        "scrapping",
        "extractor",
        "web scrapping",
        "nlp"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e91c0641dcfaabc0bfb732e22dac27fc72966ac9a8bbe85ed63288304593b435",
                "md5": "35918f79ed76be88cbc632fcea7cfbe6",
                "sha256": "65744ae4cce205314b28026179d69b05aaa9eee4259b5ec0732951e1ab5c5c8c"
            },
            "downloads": -1,
            "filename": "goose3-3.1.19-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "35918f79ed76be88cbc632fcea7cfbe6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 113435,
            "upload_time": "2024-01-19T16:22:10",
            "upload_time_iso_8601": "2024-01-19T16:22:10.820354Z",
            "url": "https://files.pythonhosted.org/packages/e9/1c/0641dcfaabc0bfb732e22dac27fc72966ac9a8bbe85ed63288304593b435/goose3-3.1.19-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ff61638cdd8687572776d933e96bf1f5d141f9e11aca53742f521cbe88cce659",
                "md5": "e6c78e78eb5b591bd13e28311a8d6502",
                "sha256": "95fb419d5173a84b4f1041dcaa290f4ca00072eb36245de503b39671c38b96a9"
            },
            "downloads": -1,
            "filename": "goose3-3.1.19.tar.gz",
            "has_sig": false,
            "md5_digest": "e6c78e78eb5b591bd13e28311a8d6502",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 106463,
            "upload_time": "2024-01-19T16:22:12",
            "upload_time_iso_8601": "2024-01-19T16:22:12.933227Z",
            "url": "https://files.pythonhosted.org/packages/ff/61/638cdd8687572776d933e96bf1f5d141f9e11aca53742f521cbe88cce659/goose3-3.1.19.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-19 16:22:12",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "goose3",
    "github_project": "goose3",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "goose3"
}
        
Elapsed time: 0.18232s