szczyglis-dev / py-gpt
Desktop AI Assistant powered by GPT, Gemini, Claude, Grok, Ollama, DeepSeek, Perplexity, and more - chat, agents, tools, MCP, plugins, RAG, vision, voice, image and video generation, speech synthesis and speech recognition, web search, memory, presets, canvas, assistants, themes, computer use. Windows, Linux, and Mac.
- Stars
- 2,025 stars
- Forks
- 354 forks
- Language
- Python
- License
- OTHER
- Created
- Apr 9, 2023
- Last push
- Oct 6, 2026
- Updated
- Nov 13, 2026
Why these Tags: an agent read the README and quoted it
- LLM chat interface from the readme:
Runs as a local desktop application with a ChatGPT-like conversational interface.
- Personal AI assistant from the readme:
PyGPT is an open-source desktop AI assistant for `Linux`, `Windows` and `macOS`.
An agent gave these Tags from the fixed Tag list in the AwesomeRepos source code. A code check kept each Tag only when its quote is in the text. A wrong Tag? Report an error with the form at the end of this page.
Admitted to the Repository Index on Nov 12, 2026: 2,021 stars on 2026-11-12.
Star History
187 days recorded, May 11, 2026 – Nov 13, 2026 (UTC). Net change +289 stars.
The star count of each day is the latest count minus the net stars of the later days.
Add this Star History to a README
The images follow the light or dark theme of the page that shows them, and update every hour.
Add ?theme=light or ?theme=dark
to the chart address to keep one theme.
Star History chart
[](https://awesomerepos.com/szczyglis-dev/py-gpt) Badge
[](https://awesomerepos.com/szczyglis-dev/py-gpt) Timeline
It gained stars on 148 of the 187 days recorded since May 11, 2026.
Its largest 7 days were Sep 23, 2026 to Sep 29, 2026: 28 stars.
In the 30 days to Nov 13, 2026 it got 42 stars, 47% fewer than in the 30 days before.
It had 1,736 stars before May 11, 2026 and has 2,025 stars now: 2,975 fewer than 5,000.
- Created on the Repository Host
- +5 stars in one day
- +5 stars in one day
- Largest star day recorded: +6 stars, the same day as release v2.8.31
- Release v2.8.37
- Release v2.8.36
- Release v2.8.38
- Release v2.9.0
- Release v2.9.1
- Latest push
- Entered the Repository Index: 2,021 stars on 2026-11-12
The timeline comes from the creation date and the releases on the Repository Host, the Admission, the Star History, and the Observations. Star milestones show only when the Star History records the day. The list shows up to 5 stable releases from the latest 10 releases recorded. When none of them is stable, one item counts the pre-releases. On the chart of net stars each day, a solid line marks each recorded release.
Forks and pushes
From 2 Observations, Nov 13, 2026 – Nov 14, 2026. Forks 0. AwesomeRepos saw a new push on 0 of 1 days.
- Nov 14, 2026: no new push
A filled day: the last push time changed since the Observation before it.
Health facts
Measured facts in four separate dimensions, each with a date and a source. AwesomeRepos does not add them into one score. AwesomeRepos reads the weekly commits, the changelog, and the community files each week for the 5,000 visible repositories with the most stars and for each rising repository. How AwesomeRepos defines each check
Maintenance
2 of 4 checks (2 without data)-
Yes: Not archived
GitHub does not mark the repository as archived. Source
-
Yes: A push in the last 90 days
Last push on 2026-10-06, 39 days ago. Source
-
No data: Commits in the last 13 weeks
No data: AwesomeRepos has not read the weekly commits.
-
No data: Commits in 26 or more of the last 52 weeks
No data: AwesomeRepos has not read the weekly commits.
Releases
2 of 3 checks (1 without data)-
Yes: A release in the last 365 days
Newest release v2.9.1 on 2026-10-06, 39 days ago. 10 or more releases in the last 365 days. Source
-
Yes: The newest release tag is a semantic version
The newest release tag is v2.9.1. Source
-
No data: A changelog file at the root
No data: AwesomeRepos has not scanned this repository.
Security practice
0 of 1 check (1 without data)-
No data: A security policy
No data: AwesomeRepos has not scanned this repository.
AwesomeRepos has not asked OpenSSF Scorecard about this repository.
Community files
1 of 3 checks (2 without data)-
Yes: A licence
GitHub finds a licence file, but cannot name the licence. Source
-
No data: A contributing guide
No data: AwesomeRepos has not scanned this repository.
-
No data: A code of conduct
No data: AwesomeRepos has not scanned this repository.
Dependencies in the index
This section shows the packages that connect this repository to other repositories in the index.
The GitHub dependency graph of this repository names 399 direct packages (scanned on Nov 14, 2026). Packages from 137 other repositories in the index are among them.
No scanned repository names a package from this repository.
Uses (in the index) · 137
- firecrawl/firecrawl 202K
PyPI: firecrawl-py
-
PyPI: transformers
-
PyPI: langchain-core, langchain-text-splitters
- microsoft/TypeScript 112K
npm: typescript
- astral-sh/uv 92K
PyPI: uv
- scrapy/scrapy 65K
PyPI: scrapy
- BerriAI/litellm 63K
PyPI: litellm
- lodash/lodash 61K
npm: lodash
- Textualize/rich 58K
PyPI: rich
- psf/requests 55K
PyPI: requests
Show all 137
-
PyPI: llama-index, llama-index-core, llama-index-instrumentation
-
npm: @types/mocha
-
PyPI: pandas
- grpc/grpc 45K
PyPI: grpcio
- numpy/numpy 33K
PyPI: numpy
-
PyPI: openai
- tqdm/tqdm 31K
PyPI: tqdm
-
PyPI: openai-agents
-
PyPI: chromadb
-
PyPI: pydantic, pydantic-core
- tj/commander.js 28K
npm: commander
- eslint/eslint 28K
npm: eslint
-
PyPI: flatbuffers
- rollup/rollup 26K
npm: rollup
-
PyPI: mcp
- mochajs/mocha 23K
npm: mocha
-
PyPI: tornado
- jsdom/jsdom 22K
npm: jsdom
- openai/tiktoken 20K
PyPI: tiktoken
-
npm: handlebars
- pallets/click 18K
PyPI: click
- aio-libs/aiohttp 17K
PyPI: aiohttp
-
npm: @typescript-eslint/eslint-plugin, @typescript-eslint/parser
- encode/httpx 16K
PyPI: httpx
-
PyPI: newspaper3k
-
PyPI: playwright
- sympy/sympy 15K
PyPI: sympy
- nltk/nltk 15K
PyPI: nltk
-
PyPI: pytest
-
npm: http-server
-
PyPI: pillow
- redis/redis-py 14K
PyPI: redis
-
PyPI: pyinstaller
-
PyPI: pyautogui
- Kludex/starlette 13K
PyPI: starlette
-
PyPI: sqlalchemy
- giampaolo/psutil 11K
PyPI: psutil
-
PyPI: tokenizers
- tweepy/tweepy 11K
PyPI: tweepy
- Kludex/uvicorn 11K
PyPI: uvicorn
-
PyPI: ffmpeg-python
-
PyPI: ollama
-
PyPI: prompt-toolkit
- py-pdf/pypdf 10K
PyPI: pypdf
- boto/boto3 9.9K
PyPI: boto3
- paramiko/paramiko 9.9K
PyPI: paramiko
- terser/terser 9.4K
npm: terser
-
GitHub Actions: actions/checkout
-
PyPI: pygame
-
PyPI: speechrecognition
-
PyPI: google-api-python-client
-
PyPI: python-dotenv
- jd/tenacity 8.8K
PyPI: tenacity
- isaacs/node-glob 8.7K
npm: glob
-
PyPI: youtube-transcript-api
- ijl/orjson 8.3K
PyPI: orjson
- pyca/cryptography 7.8K
PyPI: cryptography
-
PyPI: kubernetes
- python-trio/trio 7.4K
PyPI: trio
-
PyPI: marshmallow
- docker/docker-py 7.2K
PyPI: docker
- davidhalter/jedi 6.2K
PyPI: jedi
-
PyPI: twisted
-
npm: eslint-plugin-import
- python-attrs/attrs 5.9K
PyPI: attrs
-
PyPI: websockets
- jpadilla/pyjwt 5.7K
PyPI: pyjwt
-
PyPI: azure-core, azure-identity
- opencv/opencv-python 5.5K
PyPI: opencv-python
-
PyPI: google-auth, google-auth-httplib2, google-auth-oauthlib, googleapis-common-protos
-
PyPI: sphinx-rtd-theme
-
PyPI: jsonschema
- pyinvoke/invoke 4.8K
PyPI: invoke
- joblib/joblib 4.4K
PyPI: joblib
-
PyPI: elasticsearch
-
PyPI: markdown
- clean-css/clean-css 4.2K
npm: clean-css
- zeromq/pyzmq 4.2K
PyPI: pyzmq
- urllib3/urllib3 4.1K
PyPI: urllib3
-
PyPI: anthropic
-
PyPI: google-genai
-
PyPI: huggingface-hub
-
PyPI: fake-useragent
- tartley/colorama 3.8K
PyPI: colorama
- rollup/plugins 3.8K
npm: @rollup/plugin-commonjs, @rollup/plugin-json, @rollup/plugin-node-resolve
-
PyPI: websocket-client
- pyserial/pyserial 3.6K
PyPI: pyserial
-
PyPI: pycryptodomex
- lepture/mistune 3.1K
PyPI: mistune
- lxml/lxml 3.1K
PyPI: lxml
- deedy5/ddgs 3.1K
PyPI: ddgs
-
PyPI: wikipedia
-
PyPI: oauthlib
- yaml/pyyaml 3K
PyPI: pyyaml
- kayak/pypika 2.9K
PyPI: pypika
- mozilla/bleach 2.8K
PyPI: bleach
-
PyPI: opentelemetry-api, opentelemetry-exporter-otlp-proto-common, opentelemetry-exporter-otlp-proto-grpc, opentelemetry-proto and 2 more
-
npm: eslint-config-standard
-
PyPI: tabulate
- agronholm/anyio 2.6K
PyPI: anyio
-
PyPI: watchfiles
- pyparsing/pyparsing 2.5K
PyPI: pyparsing
- microsoft/debugpy 2.5K
PyPI: debugpy
- jmespath/jmespath.py 2.5K
PyPI: jmespath
- kurtmckee/feedparser 2.5K
PyPI: feedparser
-
PyPI: wrapt
- Automattic/cli-table 2.3K
npm: cli-table
-
PyPI: markdownify
- actions/setup-python 2.3K
GitHub Actions: actions/setup-python
- moses-palmer/pynput 2.2K
PyPI: pynput
- Alir3z4/html2text 2.2K
PyPI: html2text
-
PyPI: tldextract
-
PyPI: greenlet
-
PyPI: pytest-asyncio
- boto/botocore 1.6K
PyPI: botocore
- pyca/bcrypt 1.5K
PyPI: bcrypt
-
PyPI: markdown-it-py
- sindresorhus/del 1.3K
npm: del
- pyca/pynacl 1.2K
PyPI: pynacl
- tinytag/tinytag 846
PyPI: tinytag
-
PyPI: markupsafe
-
PyPI: typing-extensions
- jquast/wcwidth 472
PyPI: wcwidth
-
PyPI: typing-inspect
-
PyPI: uuid-utils
- Kozea/tinycss2 192
PyPI: tinycss2
-
PyPI: sphinx-intl
Used by (in the index) · 0
None.
Sources: the GitHub dependency graph of each repository, and deps.dev for the source repository of each package (checked on Nov 3, 2026). A dependency graph also names development packages. deps.dev takes most source repositories from package metadata. How the dependency graph is made
Observations
Latest Observation, Nov 14, 2026: 2,025 stars, 354 forks, last push Oct 6, 2026, not archived. One of 2 Observations since Nov 13, 2026.