{
  "id": "sourcerer-libraries-python",
  "name": "Popular Python Libraries",
  "title": "Popular Python Libraries",
  "description": "Curated list of popular Python libraries used by GitHub projects, with import names, GitHub repo, tags, and technology domain.",
  "category": "tech",
  "source": "https://github.com/sourcerer-io/awesome-libraries",
  "source_url": "https://github.com/sourcerer-io/awesome-libraries",
  "updated": "2026-04",
  "record_count": 207,
  "columns": [
    {
      "key": "id",
      "label": "Id",
      "type": "string"
    },
    {
      "key": "imports",
      "label": "Imports",
      "type": "string"
    },
    {
      "key": "name",
      "label": "Name",
      "type": "string"
    },
    {
      "key": "repo",
      "label": "Repo",
      "type": "string"
    },
    {
      "key": "tags",
      "label": "Tags",
      "type": "string"
    },
    {
      "key": "tech",
      "label": "Tech",
      "type": "string"
    },
    {
      "key": "status",
      "label": "Status",
      "type": "string"
    }
  ],
  "rows": [
    {
      "id": "py.pyechonest",
      "imports": "pyechonest",
      "name": "Pyechonest",
      "repo": "echonest/pyechonest",
      "tags": "music-search",
      "tech": "api",
      "status": "model-ready"
    },
    {
      "id": "py.tweepy",
      "imports": "tweepy",
      "name": "tweepy",
      "repo": "tweepy/tweepy",
      "tags": "twitter",
      "tech": "api",
      "status": "model-ready"
    },
    {
      "id": "py.hug",
      "imports": "hug",
      "name": "hug",
      "repo": "timothycrosley/hug",
      "tags": "api-framework",
      "tech": "app-arch",
      "status": "model-ready"
    },
    {
      "id": "py.pluggy",
      "imports": "pluggy",
      "name": "pluggy",
      "repo": "pytest-dev/pluggy",
      "tags": "plugin-system",
      "tech": "app-arch",
      "status": "awaiting-model"
    },
    {
      "id": "py.pypattyrn",
      "imports": "pypattyrn",
      "name": "PyPattyrn",
      "repo": "tylerlaberge/PyPattyrn",
      "tags": "patterns",
      "tech": "app-arch",
      "status": "model-ready"
    },
    {
      "id": "py.python-patterns",
      "imports": "behavioral, creational, dft, fundamental, other, structural",
      "name": "python-patterns",
      "repo": "faif/python-patterns",
      "tags": "patterns",
      "tech": "app-arch",
      "status": "model-ready"
    },
    {
      "id": "py.salt",
      "imports": "salt",
      "name": "salt",
      "repo": "saltstack/salt",
      "tags": "infrastructure-management",
      "tech": "app-arch",
      "status": "awaiting-model"
    },
    {
      "id": "py.Pygments",
      "imports": "pygments",
      "name": "Pygments",
      "repo": "https://bitbucket.org/birkenfeld/pygments-main",
      "tags": "syntax-highlighting",
      "tech": "app-blocks",
      "status": "awaiting-model"
    },
    {
      "id": "py.apscheduler",
      "imports": "apscheduler",
      "name": "APScheduler",
      "repo": "agronholm/apscheduler",
      "tags": "cron-scheduling",
      "tech": "app-blocks",
      "status": "awaiting-model"
    },
    {
      "id": "py.django-grappelli",
      "imports": "grappelli",
      "name": "Django Grappelli",
      "repo": "sehmaschine/django-grappelli",
      "tags": "django-admin",
      "tech": "app-blocks",
      "status": "model-ready"
    },
    {
      "id": "py.django-simple-captcha",
      "imports": "captcha",
      "name": "Django Simple Captcha",
      "repo": "mbi/django-simple-captcha",
      "tags": "captcha",
      "tech": "app-blocks",
      "status": "model-ready"
    },
    {
      "id": "py.django-simple-spam-blocker",
      "imports": "",
      "name": "Django Simple Spam Blocker",
      "repo": "moqada/django-simple-spam-blocker",
      "tags": "spam-blocker",
      "tech": "app-blocks",
      "status": "model-ready"
    },
    {
      "id": "py.django-suit",
      "imports": "suit",
      "name": "Django Suit",
      "repo": "darklow/django-suit",
      "tags": "django-admin",
      "tech": "app-blocks",
      "status": "model-ready"
    },
    {
      "id": "py.django-xadmin",
      "imports": "xadmin",
      "name": "Xadmin",
      "repo": "sshwsfc/xadmin",
      "tags": "django-admin",
      "tech": "app-blocks",
      "status": "model-ready"
    },
    {
      "id": "py.flask-admin",
      "imports": "flask_admin",
      "name": "Flask-Admin",
      "repo": "flask-admin/flask-admin",
      "tags": "flask-admin",
      "tech": "app-blocks",
      "status": "model-ready"
    },
    {
      "id": "py.PyYAML",
      "imports": "PyYAML",
      "name": "PyYAML",
      "repo": "yaml/pyyaml",
      "tags": "yaml-parser",
      "tech": "app-data",
      "status": "model-ready"
    },
    {
      "id": "py.elasticsearch",
      "imports": "elasticsearch",
      "name": "elasticsearch",
      "repo": "elastic/elasticsearch-py",
      "tags": "elasticsearch",
      "tech": "app-data",
      "status": "model-ready"
    },
    {
      "id": "py.jsonschema",
      "imports": "jsonschema",
      "name": "jsonschema",
      "repo": "Julian/jsonschema",
      "tags": "json",
      "tech": "app-data",
      "status": "model-ready"
    },
    {
      "id": "py.lxml",
      "imports": "lxml",
      "name": "lxml",
      "repo": "lxml/lxml",
      "tags": "xml-parser",
      "tech": "app-data",
      "status": "model-ready"
    },
    {
      "id": "py.marshmallow",
      "imports": "marshmallow",
      "name": "marshmallow",
      "repo": "marshmallow-code/marshmallow",
      "tags": "serialization",
      "tech": "app-data",
      "status": "model-ready"
    },
    {
      "id": "py.simplejson",
      "imports": "simplejson",
      "name": "simplejson",
      "repo": "simplejson/simplejson",
      "tags": "json",
      "tech": "app-data",
      "status": "model-ready"
    },
    {
      "id": "py.watchdog",
      "imports": "watchdog",
      "name": "watchdog",
      "repo": "gorakhargosh/watchdog",
      "tags": "filesystem",
      "tech": "app-data",
      "status": "model-ready"
    },
    {
      "id": "py.xlsxwriter",
      "imports": "xlsxwriter",
      "name": "XlsxWriter",
      "repo": "jmcnamara/XlsxWriter",
      "tags": "xlsx-files",
      "tech": "app-data",
      "status": "model-ready"
    },
    {
      "id": "py.xmltodict",
      "imports": "xmltodict",
      "name": "xmltodict",
      "repo": "martinblech/xmltodict",
      "tags": "xml-via-json",
      "tech": "app-data",
      "status": "model-ready"
    },
    {
      "id": "py.audioread",
      "imports": "audioread",
      "name": "audioread",
      "repo": "beetbox/audioread",
      "tags": "audio-files",
      "tech": "audio",
      "status": "model-ready"
    },
    {
      "id": "py.beets",
      "imports": "beets",
      "name": "Beats",
      "repo": "beetbox/beets",
      "tags": "toolkit",
      "tech": "audio",
      "status": "model-ready"
    },
    {
      "id": "py.dejavu",
      "imports": "dejavu",
      "name": "dejavu",
      "repo": "worldveil/dejavu",
      "tags": "audio-recognition",
      "tech": "audio",
      "status": "model-ready"
    },
    {
      "id": "py.eyed3",
      "imports": "eyed3",
      "name": "eyeD3",
      "repo": "nicfit/eyeD3",
      "tags": "id3-tags",
      "tech": "audio",
      "status": "model-ready"
    },
    {
      "id": "py.id3reader",
      "imports": "id3reader",
      "name": "id3reader",
      "repo": "teragonaudio/id3reader",
      "tags": "id3-tags",
      "tech": "audio",
      "status": "insufficient-data"
    },
    {
      "id": "py.mingus",
      "imports": "mingus",
      "name": "mingus",
      "repo": "bspaans/python-mingus",
      "tags": "music-toolkit",
      "tech": "audio",
      "status": "model-ready"
    },
    {
      "id": "py.mutagen",
      "imports": "mutagen",
      "name": "mutagen",
      "repo": "quodlibet/mutagen",
      "tags": "metadata",
      "tech": "audio",
      "status": "model-ready"
    },
    {
      "id": "py.pydub",
      "imports": "pydub",
      "name": "Pydub",
      "repo": "jiaaro/pydub",
      "tags": "toolkit",
      "tech": "audio",
      "status": "model-ready"
    },
    {
      "id": "py.timeside",
      "imports": "timeside",
      "name": " TimeSide",
      "repo": "Parisson/TimeSide",
      "tags": "web-audio",
      "tech": "audio",
      "status": "model-ready"
    },
    {
      "id": "py.tinytag",
      "imports": "tinytag",
      "name": "tinytag",
      "repo": "devsnd/tinytag",
      "tags": "metadata",
      "tech": "audio",
      "status": "model-ready"
    },
    {
      "id": "py.airflow",
      "imports": "airflow",
      "name": "airflow",
      "repo": "apache/incubator-airflow",
      "tags": "pipelines",
      "tech": "big-data",
      "status": "model-ready"
    },
    {
      "id": "py.luigi",
      "imports": "luigi",
      "name": "luigi",
      "repo": "spotify/luigi",
      "tags": "map-reduce",
      "tech": "big-data",
      "status": "model-ready"
    },
    {
      "id": "py.itchat",
      "imports": "itchat",
      "name": "itchat",
      "repo": "littlecodersh/ItChat",
      "tags": "messenger",
      "tech": "chat-ux",
      "status": "model-ready"
    },
    {
      "id": "py.python-telegram-bot",
      "imports": "telegram",
      "name": "python-telegram-bot",
      "repo": "python-telegram-bot/python-telegram-bot",
      "tags": "telegram-bot",
      "tech": "chat-ux",
      "status": "awaiting-model"
    },
    {
      "id": "py.slackclient",
      "imports": "slack",
      "name": "slackclient",
      "repo": "slackapi/python-slackclient",
      "tags": "slack",
      "tech": "chat-ux",
      "status": "model-ready"
    },
    {
      "id": "py.yowsup",
      "imports": "yowsup",
      "name": "yowsup",
      "repo": "tgalal/yowsup",
      "tags": "whatsapp",
      "tech": "chat-ux",
      "status": "model-ready"
    },
    {
      "id": "py.argcomplete",
      "imports": "argcomplete",
      "name": "argcomplete",
      "repo": "kislyuk/argcomplete",
      "tags": "python-bash-completion",
      "tech": "cli",
      "status": "model-ready"
    },
    {
      "id": "py.colorama",
      "imports": "colorama",
      "name": "Colorama",
      "repo": "tartley/colorama",
      "tags": "color-terminal",
      "tech": "cli",
      "status": "model-ready"
    },
    {
      "id": "py.fire",
      "imports": "fire",
      "name": "fire",
      "repo": "google/python-fire",
      "tags": "cli-for-objects",
      "tech": "cli",
      "status": "model-ready"
    },
    {
      "id": "py.progressbar2",
      "imports": "progressbar2",
      "name": "progressbar2",
      "repo": "WoLpH/python-progressbar",
      "tags": "progress-bar",
      "tech": "cli",
      "status": "model-ready"
    },
    {
      "id": "py.texttable",
      "imports": "texttable",
      "name": "texttable",
      "repo": "foutaise/texttable",
      "tags": "ASCII-tables",
      "tech": "cli",
      "status": "awaiting-model"
    },
    {
      "id": "py.tqdm",
      "imports": "tqdm",
      "name": "tqdm",
      "repo": "tqdm/tqdm",
      "tags": "progress-bar",
      "tech": "cli",
      "status": "model-ready"
    },
    {
      "id": "py.boto",
      "imports": "boto",
      "name": "boto",
      "repo": "boto/boto",
      "tags": "api",
      "tech": "cloud",
      "status": "model-ready"
    },
    {
      "id": "py.boto3",
      "imports": "boto3",
      "name": "Boto 3",
      "repo": "boto/boto3",
      "tags": "api",
      "tech": "cloud",
      "status": "awaiting-model"
    },
    {
      "id": "py.botocore",
      "imports": "botocore",
      "name": "botocore",
      "repo": "boto/botocore",
      "tags": "aws",
      "tech": "cloud",
      "status": "model-ready"
    },
    {
      "id": "py.celery",
      "imports": "celery",
      "name": "celery",
      "repo": "celery/celery",
      "tags": "job-queue",
      "tech": "cloud",
      "status": "model-ready"
    },
    {
      "id": "py.django-elastic-transcoder",
      "imports": "dj_elastictranscoder",
      "name": "Django Elastic Transcoder",
      "repo": "StreetVoice/django-elastic-transcoder",
      "tags": "aws-transcoder",
      "tech": "cloud",
      "status": "model-ready"
    },
    {
      "id": "py.docker",
      "imports": "docker",
      "name": "Docker SDK for Python",
      "repo": "docker/docker-py",
      "tags": "docker",
      "tech": "cloud",
      "status": "model-ready"
    },
    {
      "id": "py.fabric",
      "imports": "fabric",
      "name": "fabric",
      "repo": "fabric/fabric",
      "tags": "deployment",
      "tech": "cloud",
      "status": "model-ready"
    },
    {
      "id": "py.kubernetes",
      "imports": "kubernetes",
      "name": "Kubernetes Client",
      "repo": "kubernetes-client/python",
      "tags": "kubernetes-client",
      "tech": "cloud",
      "status": "model-ready"
    },
    {
      "id": "py.troposphere",
      "imports": "troposphere",
      "name": "troposphere",
      "repo": "cloudtools/troposphere",
      "tags": "aws-cloudformation",
      "tech": "cloud",
      "status": "model-ready"
    },
    {
      "id": "py.gitpython",
      "imports": "GitPython",
      "name": "GitPython",
      "repo": "gitpython-developers/GitPython",
      "tags": "git",
      "tech": "code-processing",
      "status": "model-ready"
    },
    {
      "id": "py.pygithub",
      "imports": "github",
      "name": "PyGithub",
      "repo": "pygithub/PyGithub",
      "tags": "github-api",
      "tech": "code-processing",
      "status": "model-ready"
    },
    {
      "id": "py.audiolLazy",
      "imports": "auidolazy",
      "name": "AudioLazy",
      "repo": "danilobellini/audiolazy",
      "tags": "real-time-dsp",
      "tech": "computational-science",
      "status": "model-ready"
    },
    {
      "id": "py.numpy",
      "imports": "numpy",
      "name": "numpy",
      "repo": "numpy/numpy",
      "tags": "computing",
      "tech": "computational-science",
      "status": "model-ready"
    },
    {
      "id": "py.or-tools",
      "imports": "ortools",
      "name": "or-tools",
      "repo": "google/or-tools",
      "tags": "operations-research",
      "tech": "computational-science",
      "examples": "https://github.com/google/or-tools/blob/master/examples/python/knapsack.py",
      "status": "model-ready"
    },
    {
      "id": "py.pyaudioanalysis",
      "imports": "pyAudioAnalysis",
      "name": "pyAudioAnalysis",
      "repo": "tyiannak/pyAudioAnalysis",
      "tags": "audio-analysis",
      "tech": "computational-science",
      "status": "model-ready"
    },
    {
      "id": "py.scipy",
      "imports": "scipy",
      "name": "SciPy",
      "repo": "scipy/scipy",
      "tags": "math",
      "tech": "computational-science",
      "status": "model-ready"
    },
    {
      "id": "py.theano",
      "imports": "theano",
      "name": "theano",
      "repo": "Theano/Theano",
      "tags": "expressions",
      "tech": "computational-science",
      "status": "model-ready"
    },
    {
      "id": "py.face-recognition",
      "imports": "face_recognition",
      "name": "face_recognition",
      "repo": "ageitgey/face_recognition",
      "tags": "face-recognition",
      "tech": "computer-vision",
      "status": "model-ready"
    },
    {
      "id": "py.opencv",
      "imports": "cv, cv2",
      "name": "opencv",
      "repo": "opencv/opencv",
      "tags": "cv",
      "tech": "computer-vision",
      "status": "model-ready"
    },
    {
      "id": "py.bokeh",
      "imports": "bokeh",
      "name": "bokeh",
      "repo": "bokeh/bokeh",
      "tags": "visualization",
      "tech": "data-science",
      "status": "model-ready"
    },
    {
      "id": "py.ipython",
      "imports": "IPython",
      "name": "IPython",
      "repo": "ipython/ipython",
      "tags": "interactive-shell",
      "tech": "data-science",
      "status": "awaiting-model"
    },
    {
      "id": "py.matplotlib",
      "imports": "matplotlib",
      "name": "matplotlib",
      "repo": "matplotlib/matplotlib",
      "tags": "visualization",
      "tech": "data-science",
      "status": "model-ready"
    },
    {
      "id": "py.pandas",
      "imports": "pandas",
      "name": "pandas",
      "repo": "pandas-dev/pandas",
      "tags": "data-analysis",
      "tech": "data-science",
      "status": "model-ready"
    },
    {
      "id": "py.bidict",
      "imports": "bidict",
      "name": "bidict",
      "repo": "jab/bidict",
      "tags": "bidirectional-maps",
      "tech": "data-structures",
      "status": "model-ready"
    },
    {
      "id": "py.box",
      "imports": "box",
      "name": "Box",
      "repo": "cdgriffith/Box",
      "tags": "dictionaries",
      "tech": "data-structures",
      "status": "model-ready"
    },
    {
      "id": "py.cachetools",
      "imports": "cachetools",
      "name": "cachetools",
      "repo": "tkem/cachetools",
      "tags": "collections",
      "tech": "data-structures",
      "status": "awaiting-model"
    },
    {
      "id": "py.dotted",
      "imports": "dotted",
      "name": "dotted",
      "repo": "carlosescri/DottedDict",
      "tags": "dict-list",
      "tech": "data-structures",
      "status": "model-ready"
    },
    {
      "id": "py.more-itertools",
      "imports": "more-itertools",
      "name": "more-itertools",
      "repo": "erikrose/more-itertools",
      "tags": "iterables",
      "tech": "data-structures",
      "status": "model-ready"
    },
    {
      "id": "py.sorted-containers",
      "imports": "sortedcontainers",
      "name": "Sorted Containers",
      "repo": "grantjenks/python-sortedcontainers",
      "tags": "containers",
      "tech": "data-structures",
      "status": "model-ready"
    },
    {
      "id": "py.alpha-go",
      "imports": "AlphaGo",
      "name": "AlphaGo",
      "repo": "Rochester-NRT/RocAlphaGo",
      "tags": "alpha-go",
      "tech": "dl",
      "status": "model-ready"
    },
    {
      "id": "py.keras",
      "imports": "keras",
      "name": "keras",
      "repo": "keras-team/keras",
      "tags": "high-level-api",
      "tech": "dl",
      "status": "model-ready"
    },
    {
      "id": "py.lasagne",
      "imports": "lasagne",
      "name": "lasagne",
      "repo": "Lasagne/Lasagne",
      "tags": "theano",
      "tech": "dl",
      "status": "model-ready"
    },
    {
      "id": "py.magenta",
      "imports": "magenta",
      "name": "magenta",
      "repo": "tensorflow/magenta",
      "tags": "music",
      "tech": "dl",
      "status": "model-ready"
    },
    {
      "id": "py.mxnet",
      "imports": "mxnet",
      "name": "mxnet",
      "repo": "apache/incubator-mxnet",
      "tags": "framework",
      "tech": "dl",
      "status": "model-ready"
    },
    {
      "id": "py.sonnet",
      "imports": "sonnet",
      "name": "sonnet",
      "repo": "deepmind/sonnet",
      "tags": "complex-nn",
      "tech": "dl",
      "status": "model-ready"
    },
    {
      "id": "py.tensorflow",
      "imports": "tensorflow",
      "name": "tensorflow",
      "repo": "tensorflow/tensorflow",
      "tags": "framework",
      "tech": "dl",
      "status": "model-ready"
    },
    {
      "id": "py.tflearn",
      "imports": "tflearn",
      "name": "tflearn",
      "repo": "tflearn/tflearn",
      "tags": "high-level-api",
      "tech": "dl",
      "status": "model-ready"
    },
    {
      "id": "py.torch",
      "imports": "torch",
      "name": "torch",
      "repo": "pytorch/pytorch",
      "tags": "framework",
      "tech": "dl",
      "status": "model-ready"
    },
    {
      "id": "py.protobuf",
      "imports": "pb, pb2",
      "name": "protobuf",
      "repo": "google/protobuf",
      "tags": "encoding",
      "tech": "efficient-data",
      "status": "model-ready"
    },
    {
      "id": "py.alembic",
      "imports": "alembic",
      "name": "alembic",
      "repo": "sqlalchemy/alembic",
      "tags": "db-migration",
      "tech": "eng-tools",
      "status": "model-ready"
    },
    {
      "id": "py.attrs",
      "imports": "attr",
      "name": "attrs",
      "repo": "python-attrs/attrs",
      "tags": "better-classes",
      "tech": "eng-tools",
      "status": "model-ready"
    },
    {
      "id": "py.cookiecutter",
      "imports": "cookiecutter",
      "name": "cookiecutter",
      "repo": "audreyr/cookiecutter",
      "tags": "project-templates",
      "tech": "eng-tools",
      "status": "model-ready"
    },
    {
      "id": "py.debtcollector",
      "imports": "debtcollector",
      "name": "debtcollector",
      "repo": "openstack/debtcollector",
      "tags": "deprecation-patterns",
      "tech": "eng-tools",
      "examples": "https://docs.openstack.org/debtcollector/latest/user/usage.html",
      "status": "model-ready"
    },
    {
      "id": "py.fblldbbase",
      "imports": "fblldbbase",
      "name": "fblldbbase",
      "repo": "facebook/chisel",
      "tags": "ios-debugging",
      "tech": "eng-tools",
      "status": "model-ready"
    },
    {
      "id": "py.isort",
      "imports": "isort",
      "name": "Isort",
      "repo": "timothycrosley/isort",
      "tags": "sort-imports",
      "tech": "eng-tools",
      "status": "model-ready"
    },
    {
      "id": "py.localstack",
      "imports": "localstack",
      "name": "localstack",
      "repo": "localstack/localstack",
      "tags": "aws-mocking",
      "tech": "eng-tools",
      "status": "model-ready"
    },
    {
      "id": "py.moto",
      "imports": "moto",
      "name": "Moto",
      "repo": "spulec/moto",
      "tags": "aws-mocking",
      "tech": "eng-tools",
      "status": "model-ready"
    },
    {
      "id": "py.yapf",
      "imports": "yapf",
      "name": "yapf",
      "repo": "google/yapf",
      "tags": "python-formatting",
      "tech": "eng-tools",
      "status": "model-ready"
    },
    {
      "id": "py.futures",
      "imports": "concurrent.futures",
      "name": "futures",
      "repo": "agronholm/pythonfutures",
      "tags": "async-programming",
      "tech": "faster-code",
      "status": "awaiting-model"
    },
    {
      "id": "py.gevent",
      "imports": "gevent",
      "name": "gevent",
      "repo": "gevent/gevent",
      "tags": "concurrency",
      "tech": "faster-code",
      "status": "model-ready"
    },
    {
      "id": "py.scoop",
      "imports": "scoop",
      "name": "SCOOP",
      "repo": "soravux/scoop",
      "tags": "concurrent-ops",
      "tech": "faster-code",
      "status": "model-ready"
    },
    {
      "id": "py.zipline",
      "imports": "zipline",
      "name": "zipline",
      "repo": "quantopian/zipline",
      "tags": "algo-trading",
      "tech": "fintech",
      "status": "model-ready"
    },
    {
      "id": "py.kivy",
      "imports": "kivy",
      "name": "kivy",
      "repo": "kivy/kivy",
      "tags": "framework",
      "tech": "gui",
      "status": "model-ready"
    },
    {
      "id": "py.pil",
      "imports": "PIL",
      "name": "PIL",
      "repo": "python-pillow/Pillow",
      "tags": "manipulation",
      "tech": "images",
      "status": "model-ready"
    },
    {
      "id": "py.aiohttp",
      "imports": "aiohttp",
      "name": "aiohttp",
      "repo": "aio-libs/aiohttp",
      "tags": "http-framework",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "py.cherrypy",
      "imports": "CherryPy",
      "name": "CherryPy",
      "repo": "cherrypy/cherrypy",
      "tags": "http-framework",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "py.feedparser",
      "imports": "feedparser",
      "name": "feedparser",
      "repo": "kurtmckee/feedparser",
      "tags": "rss-parser",
      "tech": "internet",
      "status": "awaiting-model"
    },
    {
      "id": "py.gunicorn",
      "imports": "Gunicorn",
      "name": "gunicorn",
      "repo": "benoitc/gunicorn",
      "tags": "http-server",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "py.httplib2",
      "imports": "httplib2",
      "name": "httplib2",
      "repo": "httplib2/httplib2",
      "tags": "http-client",
      "tech": "internet",
      "status": "awaiting-model"
    },
    {
      "id": "py.jose",
      "imports": "jose",
      "name": "jose",
      "repo": "demonware/jose",
      "tags": "jws-jwe",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "py.newspaper",
      "imports": "newspaper",
      "name": "newspaper",
      "repo": "codelucas/newspaper",
      "tags": "web-scraper",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "py.oauthlib",
      "imports": "oauthlib",
      "name": "OAuthLib",
      "repo": "oauthlib/oauthlib",
      "tags": "oauth",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "py.pyjwt",
      "imports": "jwt",
      "name": "PyJWT",
      "repo": "jpadilla/pyjwt",
      "tags": "jwt",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "py.pyspider",
      "imports": "pyspider",
      "name": "pyspider",
      "repo": "binux/pyspider",
      "tags": "web-crawler",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "py.python-jws",
      "imports": "jws",
      "name": "python-jws",
      "repo": "brianloveswords/python-jws",
      "tags": "jws",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "py.python-jwt",
      "imports": "python_jwt",
      "name": "python-jwt",
      "repo": "davedoesdev/python-jwt",
      "tags": "jwt",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "py.python-oauth2",
      "imports": "oauth2",
      "name": "python-oauth2",
      "repo": "joestump/python-oauth2",
      "tags": "oauth",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "py.rauth",
      "imports": "rauth",
      "name": "Rauth",
      "repo": "litl/rauth",
      "tags": "oauth",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "py.requests",
      "imports": "requests",
      "name": "requests",
      "repo": "kennethreitz/requests",
      "tags": "http-client",
      "tech": "internet",
      "status": "awaiting-model"
    },
    {
      "id": "py.sanction",
      "imports": "sanction",
      "name": "sanction",
      "repo": "demianbrecht/sanction",
      "tags": "oauth",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "py.scrapy",
      "imports": "scrapy",
      "name": "scrapy",
      "repo": "scrapy/scrapy",
      "tags": "web-crawler",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "py.urllib3",
      "imports": "urllib3",
      "name": "urllib3",
      "repo": "urllib3/urllib3",
      "tags": "http-client",
      "tech": "internet",
      "status": "model-ready"
    },
    {
      "id": "py.six",
      "imports": "six",
      "name": "Six",
      "repo": "benjaminp/six",
      "tags": "python2-python3",
      "tech": "interoperability",
      "status": "model-ready"
    },
    {
      "id": "py.homeassistant",
      "imports": "homeassistant",
      "name": "homeassistant",
      "repo": "home-assistant/home-assistant",
      "tags": "automation",
      "tech": "iot",
      "status": "model-ready"
    },
    {
      "id": "py.m3u8",
      "imports": "m3u8",
      "name": "m3u8",
      "repo": "globocom/m3u8",
      "tags": "m3u8-files",
      "tech": "media",
      "status": "model-ready"
    },
    {
      "id": "py.decorator",
      "imports": "decorator",
      "name": "decorator",
      "repo": "micheles/decorator",
      "tags": "decorators",
      "tech": "metaprogramming",
      "status": "awaiting-model"
    },
    {
      "id": "py.gensim",
      "imports": "gensim",
      "name": "gensim",
      "repo": "RaRe-Technologies/gensim",
      "tags": "topic-modeling",
      "tech": "ml",
      "status": "model-ready"
    },
    {
      "id": "py.nupic",
      "imports": "nupic",
      "name": "nupic",
      "repo": "numenta/nupic",
      "tags": "numenta-htm",
      "tech": "ml",
      "status": "model-ready"
    },
    {
      "id": "py.sklearn",
      "imports": "sklearn",
      "name": "sklearn",
      "repo": "scikit-learn/scikit-learn",
      "tags": "toolkit",
      "tech": "ml",
      "status": "model-ready"
    },
    {
      "id": "py.xgboost",
      "imports": "xgboost",
      "name": "xgboost",
      "repo": "dmlc/xgboost",
      "tags": "gradient-boost",
      "tech": "ml",
      "status": "model-ready"
    },
    {
      "id": "py.paramiko",
      "imports": "paramiko",
      "name": "paramiko",
      "repo": "paramiko/paramiko",
      "tags": "ssh",
      "tech": "networking",
      "status": "model-ready"
    },
    {
      "id": "py.flair",
      "imports": "flair",
      "name": "flair",
      "repo": "zalandoresearch/flair",
      "tags": "extraction, embeddings",
      "tech": "nlp, ml",
      "status": "model-ready"
    },
    {
      "id": "py.jieba",
      "imports": "jieba",
      "name": "jieba",
      "repo": "fxsjy/jieba",
      "tags": "chinese",
      "tech": "nlp",
      "status": "model-ready"
    },
    {
      "id": "py.nltk",
      "imports": "nltk",
      "name": "nltk",
      "repo": "nltk/nltk",
      "tags": "toolkit",
      "tech": "nlp",
      "status": "model-ready"
    },
    {
      "id": "py.pattern",
      "imports": "pattern",
      "name": "pattern",
      "repo": "clips/pattern",
      "tags": "web-mining",
      "tech": "nlp, scraping",
      "status": "model-ready"
    },
    {
      "id": "py.spacy",
      "imports": "spacy",
      "name": "spacy",
      "repo": "explosion/spaCy",
      "tags": "extraction",
      "tech": "nlp",
      "status": "model-ready"
    },
    {
      "id": "py.ply",
      "imports": "ply",
      "name": "PLY",
      "repo": "dabeaz/ply",
      "tags": "lexing",
      "tech": "parsing",
      "examples": "http://www.dabeaz.com/ply/example.html",
      "status": "model-ready"
    },
    {
      "id": "py.pyparsing",
      "imports": "pyparsing",
      "name": "PyParsing",
      "repo": "pyparsing/pyparsing",
      "tags": "grammars",
      "tech": "parsing",
      "status": "model-ready"
    },
    {
      "id": "py.sqlparse",
      "imports": "sqlparse",
      "name": "sqlparse",
      "repo": "andialbrecht/sqlparse",
      "tags": "sql-parser",
      "tech": "parsing",
      "status": "model-ready"
    },
    {
      "id": "py.pyserial",
      "imports": "serial",
      "name": "pySerial",
      "repo": "pyserial/pyserial",
      "tags": "serial-port",
      "tech": "peripheral",
      "status": "awaiting-model"
    },
    {
      "id": "py.authomatic",
      "imports": "authomatic",
      "name": "Authomatic",
      "repo": "authomatic/authomatic",
      "tags": "oauth-openid",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.beaker",
      "imports": "beaker",
      "name": "Beaker",
      "repo": "bbangert/beaker",
      "tags": "sessions-caching",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.beautifulsoup",
      "imports": "bs4, BeautifulSoup",
      "name": "BeautifulSoup",
      "repo": "https://code.launchpad.net/beautifulsoup",
      "tags": "web-scraping, web-automation",
      "tech": "python-web",
      "status": "awaiting-model",
      "examples": "https://github.com/raazgupta/Beautiful-Soup-Example/blob/master/google-news-query.py, https://github.com/datasciencedojo/tutorials/blob/master/Web%20Scraping%20with%20Python%20and%20BeautifulSoup/Web%20Scraping%20with%20Python%20and%20Beautiful%20Soup.py"
    },
    {
      "id": "py.bottle",
      "imports": "bottle",
      "name": "bottle",
      "repo": "bottlepy/bottle",
      "tags": "framework",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.cacheops",
      "imports": "cacheops",
      "name": "Cacheops",
      "repo": "Suor/django-cacheops",
      "tags": "django-caching",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.connexion",
      "imports": "connexion",
      "name": "connexion",
      "repo": "zalando/connexion",
      "tags": "micro-framework",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.diskcache",
      "imports": "diskcache",
      "name": "DiskCache",
      "repo": "grantjenks/python-diskcache",
      "tags": "django-caching",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.django",
      "imports": "django",
      "name": "django",
      "repo": "django/django",
      "tags": "framework",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.django-allauth",
      "imports": "allauth",
      "name": "django-allauth",
      "repo": "pennersr/django-allauth",
      "tags": "auth-toolkit",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.django-cache-machine",
      "imports": "caching",
      "name": "Cache Machine",
      "repo": "django-cache-machine/django-cache-machine",
      "tags": "django-caching",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.django-extensions",
      "imports": "django_extensions",
      "name": "django-extensions",
      "repo": "django-extensions/django-extensions",
      "tags": "django-extensions",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.django-filter",
      "imports": "django_filter",
      "name": "django-filter",
      "repo": "carltongibson/django-filter",
      "tags": "django-queryset-filter",
      "tech": "python-web",
      "status": "awaiting-model"
    },
    {
      "id": "py.django-model-utils",
      "imports": "model_utils",
      "name": "Django Utils",
      "repo": "jazzband/django-model-utils",
      "tags": "django-utils",
      "tech": "python-web",
      "status": "awaiting-model"
    },
    {
      "id": "py.django-oauth-toolkit",
      "imports": "oauth2_provider",
      "name": "Django OAuth Toolkit",
      "repo": "jazzband/django-oauth-toolkit",
      "tags": "oauth",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.dogpile",
      "imports": "dogpile",
      "name": "Dogpile",
      "repo": "https://bitbucket.org/zzzeek/dogpile.cache/",
      "tags": "caching",
      "tech": "python-web",
      "status": "awaiting-model"
    },
    {
      "id": "py.flasgger",
      "imports": "flasgger",
      "name": "flasgger",
      "repo": "rochacbruno/flasgger",
      "tags": "flask-openapi",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.flask",
      "imports": "flask, Flask",
      "name": "flask",
      "repo": "pallets/flask",
      "tags": "micro-framework",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.flask-oauthlib",
      "imports": "flask_oauthlib",
      "name": "Flask-OAuthlib",
      "repo": "lepture/flask-oauthlib",
      "tags": "oauth",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.flask-restful",
      "imports": "flask_restful",
      "name": "Flask-RESTful",
      "repo": "flask-restful/flask-restful",
      "tags": "RESTful",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.hermes-cache",
      "imports": "hermes",
      "name": "HermesCache",
      "repo": "https://bitbucket.org/saaj/hermes",
      "tags": "caching",
      "tech": "python-web",
      "status": "awaiting-model"
    },
    {
      "id": "py.jinja2",
      "imports": "jinja2",
      "name": "jinja2",
      "repo": "pallets/jinja",
      "tags": "templates",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.johny-cache",
      "imports": "johny",
      "name": "Johny Cache",
      "repo": "jmoiron/johnny-cache",
      "tags": "django-caching",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.mako",
      "imports": "mako",
      "name": "Mako",
      "repo": "sqlalchemy/mako",
      "tags": "templates",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.pylibmc",
      "imports": "pylibmc",
      "name": "pyblibmc",
      "repo": "lericson/pylibmc",
      "tags": "memcached-client",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.pyramid",
      "imports": "pyramid",
      "name": "pyramid",
      "repo": "Pylons/pyramid",
      "tags": "micro-framework",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.python-social-auth",
      "imports": "social, social_",
      "name": "Python Social Auth",
      "repo": "python-social-auth/social-core",
      "tags": "oauth",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.requests-oauthlib",
      "imports": "requests_oauthlib",
      "name": "requests-oauthlib",
      "repo": "requests/requests-oauthlib",
      "tags": "oauth-client",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.rest-framework",
      "imports": "rest_framework",
      "name": "rest_framework",
      "repo": "encode/django-rest-framework",
      "tags": "django-rest",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.sanic",
      "imports": "sanic",
      "name": "sanic",
      "repo": "channelcat/sanic",
      "tags": "micro-framework",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.tornado",
      "imports": "tornado",
      "name": "tornado",
      "repo": "tornadoweb/tornado",
      "tags": "async-framework",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.twisted",
      "imports": "twisted",
      "name": "Twisted",
      "repo": "twisted/twisted",
      "tags": "networking-engine",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.waitress",
      "imports": "waitress",
      "name": "waitress",
      "repo": "Pylons/waitress",
      "tags": "WSGI-server",
      "tech": "python-web",
      "status": "awaiting-model"
    },
    {
      "id": "py.web",
      "imports": "web",
      "name": "web",
      "repo": "webpy/webpy",
      "tags": "framework",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.websockets",
      "imports": "websockets",
      "name": "Websockets",
      "repo": "aaugustin/websockets",
      "tags": "websocket",
      "tech": "python-web",
      "status": "awaiting-model"
    },
    {
      "id": "py.werkzeug",
      "imports": "werkzeug",
      "name": "Werkzeug",
      "repo": "pallets/werkzeug",
      "tags": "wsgi",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.zappa",
      "imports": "zappa",
      "name": "zappa",
      "repo": "Miserlou/Zappa",
      "tags": "serverless",
      "tech": "python-web",
      "status": "model-ready"
    },
    {
      "id": "py.gym",
      "imports": "gym",
      "name": "gym",
      "repo": "openai/gym",
      "tags": "environments",
      "tech": "rl",
      "status": "model-ready"
    },
    {
      "id": "py.universe",
      "imports": "universe",
      "name": "universe",
      "repo": "openai/universe",
      "tags": "environments",
      "tech": "rl",
      "status": "model-ready"
    },
    {
      "id": "py.cryptography",
      "imports": "cryptography",
      "name": "cryptography",
      "repo": "pyca/cryptography",
      "tags": "cryptography",
      "tech": "security",
      "status": "model-ready"
    },
    {
      "id": "py.ecdsa",
      "imports": "ecdsa",
      "name": "Pure-Python ECDSA",
      "repo": "warner/python-ecdsa",
      "tags": "ECDSA-cryptography",
      "tech": "security",
      "status": "awaiting-model"
    },
    {
      "id": "py.keyring",
      "imports": "keyring",
      "name": "keyring",
      "repo": "jaraco/keyring",
      "tags": "store-passwords",
      "tech": "security",
      "status": "awaiting-model"
    },
    {
      "id": "py.pyopenssl",
      "imports": "OpenSSL",
      "name": "pyOpenSSL",
      "repo": "pyca/pyopenssl",
      "tags": "OpenSSL-wrapper",
      "tech": "security",
      "status": "awaiting-model"
    },
    {
      "id": "py.flask-migrate",
      "imports": "flask_migrate",
      "name": "Flask-Migrate",
      "repo": "miguelgrinberg/flask-migrate",
      "tags": "sqlalchemy-db-migration",
      "tech": "storage",
      "status": "awaiting-model"
    },
    {
      "id": "py.flask-sqlalchemy",
      "imports": "flask_sqlalchemy",
      "name": "Flask-SQLAlchemy",
      "repo": "pallets/flask-sqlalchemy",
      "tags": "flask-sqlalchemy",
      "tech": "storage",
      "status": "model-ready"
    },
    {
      "id": "py.peewee",
      "imports": "peewee",
      "name": "peewee",
      "repo": "coleifer/peewee",
      "tags": "orm",
      "tech": "storage",
      "status": "model-ready"
    },
    {
      "id": "py.pymongo",
      "imports": "pymongo",
      "name": "pymongo",
      "repo": "mongodb/mongo-python-driver",
      "tags": "mongodb",
      "tech": "storage",
      "status": "model-ready"
    },
    {
      "id": "py.pymysql",
      "imports": "pymysql",
      "name": "PyMySQL",
      "repo": "PyMySQL/PyMySQL",
      "tags": "mysql",
      "tech": "storage",
      "status": "model-ready"
    },
    {
      "id": "py.redis",
      "imports": "redis",
      "name": "redis",
      "repo": "andymccurdy/redis-py",
      "tags": "nosql",
      "tech": "storage",
      "status": "model-ready"
    },
    {
      "id": "py.sqlalchemy",
      "imports": "sqlalchemy",
      "name": "SQLAlchemy",
      "repo": "sqlalchemy/sqlalchemy",
      "tags": "sql",
      "tech": "storage",
      "status": "awaiting-model"
    },
    {
      "id": "py.django-celery",
      "imports": "djcelery",
      "name": "Celery for django",
      "repo": "celery/django-celery",
      "tags": "celery-django",
      "tech": "task-queue",
      "status": "model-ready"
    },
    {
      "id": "py.coverage",
      "imports": "coverage",
      "name": "Coverage.py",
      "repo": "nedbat/coveragepy",
      "tags": "code-coverage",
      "tech": "testing",
      "status": "model-ready"
    },
    {
      "id": "py.faker",
      "imports": "faker",
      "name": "faker",
      "repo": "joke2k/faker",
      "tags": "fake-data",
      "tech": "testing",
      "status": "model-ready"
    },
    {
      "id": "py.locust",
      "imports": "locust",
      "name": "locust",
      "repo": "locustio/locust",
      "tags": "load-testing",
      "tech": "testing",
      "status": "model-ready"
    },
    {
      "id": "py.mock",
      "imports": "mock",
      "name": "mock",
      "repo": "testing-cabal/mock",
      "tags": "mocking",
      "tech": "testing",
      "status": "model-ready"
    },
    {
      "id": "py.nose",
      "imports": "nose",
      "name": "nose",
      "repo": "nose-devs/nose",
      "tags": "unit-testing",
      "tech": "testing",
      "status": "model-ready"
    },
    {
      "id": "py.selenium",
      "imports": "selenium",
      "name": "Selenium",
      "repo": "SeleniumHQ/selenium",
      "tags": "web-scraping, web-automation",
      "tech": "testing",
      "status": "awaiting-model",
      "examples": "https://github.com/chiedo/python-selenium-starter/"
    },
    {
      "id": "py.test",
      "imports": "pytest",
      "name": "pytest",
      "repo": "pytest-dev/pytest",
      "tags": "unit-testing",
      "tech": "testing",
      "status": "model-ready"
    },
    {
      "id": "py.chardet",
      "imports": "chardet",
      "name": "chardet",
      "repo": "chardet/chardet",
      "tags": "encoding-detection",
      "tech": "text",
      "status": "awaiting-model"
    },
    {
      "id": "py.appdirs",
      "imports": "appdirs",
      "name": "AppDirs",
      "repo": "ActiveState/appdirs",
      "tags": "platform-dirs",
      "tech": "utils",
      "status": "model-ready"
    },
    {
      "id": "py.arrow",
      "imports": "arrow",
      "name": "arrow",
      "repo": "crsmithdev/arrow",
      "tags": "date-time",
      "tech": "utils",
      "status": "model-ready"
    },
    {
      "id": "py.dotenv",
      "imports": "dotenv",
      "name": "python-dotenv",
      "repo": "theskumar/python-dotenv",
      "tags": "env-vars",
      "tech": "utils",
      "status": "model-ready"
    },
    {
      "id": "py.dynaconf",
      "imports": "dynaconf",
      "name": "dynaconf",
      "repo": "rochacbruno/dynaconf",
      "tags": "configuration",
      "tech": "utils",
      "status": "model-ready"
    },
    {
      "id": "py.fs",
      "imports": "fs",
      "name": "PyFilesystem2",
      "repo": "PyFilesystem/pyfilesystem2",
      "tags": "filesystem",
      "tech": "utils",
      "status": "awaiting-model"
    },
    {
      "id": "py.gflags",
      "imports": "gflags",
      "name": "gflags",
      "repo": "google/python-gflags",
      "tags": "argument-parsing",
      "tech": "utils",
      "status": "model-ready"
    },
    {
      "id": "py.gooey",
      "imports": "gooey",
      "name": "gooey",
      "repo": "chriskiehl/Gooey",
      "tags": "cli2gui",
      "tech": "utils",
      "status": "model-ready"
    },
    {
      "id": "py.path.py",
      "imports": "path",
      "name": "path.py",
      "repo": "jaraco/path.py",
      "tags": "file-access",
      "tech": "utils",
      "status": "model-ready"
    },
    {
      "id": "py.pendulum",
      "imports": "pendulum",
      "name": "pendulum",
      "repo": "sdispater/pendulum",
      "tags": "datetime",
      "tech": "utils",
      "status": "awaiting-model"
    },
    {
      "id": "py.psutil",
      "imports": "psutil",
      "name": "psutil",
      "repo": "giampaolo/psutil",
      "tags": "system",
      "tech": "utils",
      "status": "model-ready"
    },
    {
      "id": "py.python-dateutil",
      "imports": "dateutil",
      "name": "dateutil",
      "repo": "dateutil/dateutil",
      "tags": "date-time",
      "tech": "utils",
      "status": "model-ready"
    },
    {
      "id": "py.python-slugify",
      "imports": "slugify",
      "name": "Slugify",
      "repo": "un33k/python-slugify",
      "tags": "unicode-slugs",
      "tech": "utils",
      "status": "model-ready"
    },
    {
      "id": "py.supervisor",
      "imports": "xmlrpclib",
      "name": "supervisor",
      "repo": "Supervisor/supervisor",
      "tags": "process-control",
      "tech": "utils",
      "status": "awaiting-model"
    }
  ],
  "meta": {
    "title": "Popular Python Libraries - Free Download",
    "description": "Curated list of popular Python libraries used by GitHub projects, with import names, GitHub repo, tags, and technology domain. Contains 207 records. Download in Excel, CSV, PDF formats.",
    "seo_title": "Popular Python Libraries | ListBase",
    "seo_description": "Download Popular Python Libraries — 207 records. Available in Excel, CSV, PDF formats.",
    "key_takeaways": [
      "Contains 207 records / 7 fields",
      "Available for free download in Excel, CSV, and PDF formats",
      "Data sourced from: https://github.com/sourcerer-io/awesome-libraries"
    ]
  }
}