Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
145 commits
Select commit Hold shift + click to select a range
fa06cb6
Initial commit
A5rocks Aug 6, 2025
78cab9a
feat: example on how to use pyodide in our repo
DannyTheHeretic Aug 9, 2025
60a4853
Setup basic environment
A5rocks Aug 9, 2025
63da9b8
Merge pull request #11 from A5rocks/update-docs
giplgwm Aug 9, 2025
a1212ac
Tokenize things
A5rocks Aug 9, 2025
1ff603a
Remove EOF tokens
A5rocks Aug 9, 2025
9f6a220
script python to send request with authentication & add atproto to re…
Drakariboo Aug 9, 2025
a2c2bc8
feat: requests based implementation of atproto session
DannyTheHeretic Aug 10, 2025
bcacb08
lint: linting the auth requests
DannyTheHeretic Aug 10, 2025
a675095
feat: added feeds
DannyTheHeretic Aug 10, 2025
3df61a9
feat: add retro terminal ui interface
Walkercito Aug 10, 2025
7a6691c
edit: credits on the CRT effect
Walkercito Aug 10, 2025
36d4a03
feat: added the pyfetch session
DannyTheHeretic Aug 10, 2025
e893104
lint: making the linter happy
DannyTheHeretic Aug 10, 2025
93e71ea
feat: adding proper async await for the bskysession
DannyTheHeretic Aug 10, 2025
d660c75
Create a basic parser
A5rocks Aug 10, 2025
0c57e63
Start parsing where clauses
A5rocks Aug 10, 2025
37346f9
Fix strings
A5rocks Aug 10, 2025
90a6911
fix: lint errors
Walkercito Aug 10, 2025
2442055
fix(boot): load core modules in background
Walkercito Aug 10, 2025
74d6b10
edit: lint errors
Walkercito Aug 10, 2025
7b4d345
feat: js migration to py
Walkercito Aug 11, 2025
c11ee42
fix: f lint
Walkercito Aug 11, 2025
fd03e06
feat: adding functions and setup script
DannyTheHeretic Aug 11, 2025
7c799ed
fix: fixing the clear_interface
DannyTheHeretic Aug 11, 2025
2cbe07a
fix: Using the frontend.py update table in our example function
DannyTheHeretic Aug 11, 2025
ce6a40b
feat: make the tables able to load all and flatten dict
DannyTheHeretic Aug 11, 2025
6c4c27a
fix: make the tables actually load the dict fields
DannyTheHeretic Aug 11, 2025
bb1f2ff
Merge pull request #15 from A5rocks/sql-parser
A5rocks Aug 11, 2025
97f7316
fix: removed the lists from flattener
DannyTheHeretic Aug 11, 2025
b47e4f4
fix: gitignore had functions.py in it ??
DannyTheHeretic Aug 11, 2025
80336b6
fix: reverted the show_boot param in index
DannyTheHeretic Aug 11, 2025
31a9a52
fix: changed stat_type to a Literal for update_status
DannyTheHeretic Aug 11, 2025
5d1ef58
Allow parsing underscores in identifiers
A5rocks Aug 11, 2025
ecd677c
Merge pull request #22 from A5rocks/fix-underscore-identifiers
A5rocks Aug 11, 2025
39a2256
Implement AND, ints, and > / <
A5rocks Aug 11, 2025
f45db16
feat: added the extractors for the functions
DannyTheHeretic Aug 11, 2025
7741779
fix: fixing the things in comments
DannyTheHeretic Aug 11, 2025
ef869d8
clean: removed frontend.js
DannyTheHeretic Aug 11, 2025
6d4549e
ign: lint throwing a fit about parser
DannyTheHeretic Aug 11, 2025
2173896
Merge pull request #20 from A5rocks/py-conversion
DannyTheHeretic Aug 11, 2025
3b2eb07
fix: lint issue fir the parser
DannyTheHeretic Aug 11, 2025
ed10e20
Merge branch 'main' into fetcher
DannyTheHeretic Aug 11, 2025
0160b57
fix: Fixing a var name and a TODO stmt
DannyTheHeretic Aug 11, 2025
e03c273
fix: fixing for the removed frontend.js
DannyTheHeretic Aug 11, 2025
2fce7c4
fix: added frontend exposed thru functions
DannyTheHeretic Aug 11, 2025
17a1988
Merge pull request #23 from A5rocks/expanded-where
A5rocks Aug 11, 2025
113ca45
Merge pull request #25 from A5rocks/fetcher
DannyTheHeretic Aug 12, 2025
c6e1884
feat: add bluesky auth modal
Walkercito Aug 12, 2025
a714dfa
fix: lint...
Walkercito Aug 12, 2025
58b218e
Merge pull request #16 from A5rocks/auth-request
DannyTheHeretic Aug 12, 2025
a0558a0
Merge pull request #26 from A5rocks/login-modal
A5rocks Aug 13, 2025
bab0da2
feat: adding the hooks thru modal and session
DannyTheHeretic Aug 13, 2025
4d4783d
feat: added the timeline and login hooks
DannyTheHeretic Aug 13, 2025
ab34bd9
feat: orginized the api hooks to be in order
DannyTheHeretic Aug 13, 2025
0a8f157
feat: added everything but 'chats'
DannyTheHeretic Aug 13, 2025
d65263d
Set empty BskySession in stealth mode to avoid errors in functions th…
giplgwm Aug 14, 2025
4eb45b8
feat: cleaning some stuff up
DannyTheHeretic Aug 14, 2025
4d9990f
Merge branch 'added-login-hooks' of https://github.com/A5rocks/code-j…
DannyTheHeretic Aug 14, 2025
6015188
feat: started on the image handling to ascii
DannyTheHeretic Aug 14, 2025
4d782c3
lint: requirements.txt
DannyTheHeretic Aug 14, 2025
65a5d86
lint: fix requirements
DannyTheHeretic Aug 14, 2025
2b6f1ff
extract embedded image links from posts and send to frontend
giplgwm Aug 14, 2025
fe4928d
Merge pull request #28 from A5rocks/added-login-hooks
DannyTheHeretic Aug 14, 2025
1726066
fix: linting
giplgwm Aug 14, 2025
cfd7b08
feat: started on the sql to api layer
DannyTheHeretic Aug 14, 2025
be33db4
feat: added get blob, it returns the blob url based on bsky url
DannyTheHeretic Aug 15, 2025
d55e8b8
feat: ascii images from bsky image links
giplgwm Aug 15, 2025
522678c
feat: handle table, on missing values return timeline
DannyTheHeretic Aug 15, 2025
2499e60
clean: removed debug stmts
DannyTheHeretic Aug 15, 2025
63367fc
lint: fix pre-commit errors
giplgwm Aug 15, 2025
5f1cb7a
fix incorrect function name in async_show_image_modal
giplgwm Aug 15, 2025
fa01055
feat: handle alt text (when available) and link to the full size image
giplgwm Aug 15, 2025
561a440
fix: added error handling and clear table to failure
DannyTheHeretic Aug 15, 2025
5c2645e
Add empty field if no photos are found to avoid KeyError if using pho…
giplgwm Aug 15, 2025
cc99ceb
clean: cleaned up some of the code
DannyTheHeretic Aug 15, 2025
b7a78bf
feat: clean up async_show_image_modal
giplgwm Aug 15, 2025
cc1420a
Merge branch 'image-handling' of https://github.com/A5rocks/code-jam-…
DannyTheHeretic Aug 15, 2025
2a6d9e9
feat: added some styling
DannyTheHeretic Aug 15, 2025
3590597
feat: poor mans cache with dictionary
DannyTheHeretic Aug 15, 2025
ff36baf
Add favicon.png
giplgwm Aug 16, 2025
925ddce
pull image extraction into a function to avoid duplicate code
giplgwm Aug 16, 2025
59c1465
move image link handling into its own function
giplgwm Aug 16, 2025
fba4ed2
Handle failed logins
giplgwm Aug 16, 2025
b8c0431
fix: move the favicon to src folder
DannyTheHeretic Aug 16, 2025
57fdd1e
Merge branch 'main' into image-handling
DannyTheHeretic Aug 16, 2025
92e9cfd
lint: fixing lint
DannyTheHeretic Aug 16, 2025
efe2b2b
feat: added random endpoints to sql-2-api
DannyTheHeretic Aug 16, 2025
834b23d
lint: cleaning some funcs up
DannyTheHeretic Aug 16, 2025
98b3d3b
Merge pull request #32 from A5rocks/login-error
DannyTheHeretic Aug 16, 2025
f4d4350
Merge pull request #31 from A5rocks/favicon
DannyTheHeretic Aug 16, 2025
4c065fa
Merge pull request #29 from A5rocks/image-handling
DannyTheHeretic Aug 16, 2025
2aa28cf
Merge branch 'main' into sql-2-api
DannyTheHeretic Aug 17, 2025
226419d
lint: cleaning the branch
DannyTheHeretic Aug 17, 2025
52b7f8b
Merge pull request #30 from A5rocks/sql-2-api
DannyTheHeretic Aug 17, 2025
3eb8406
feat: add drop easter egg
Walkercito Aug 17, 2025
58f461b
add: ctr on/off button
Walkercito Aug 17, 2025
f854e0a
edit: bug fixes and debug
Walkercito Aug 17, 2025
a814a19
edit: better post handling
Walkercito Aug 17, 2025
c3c7bb8
fix: profile fix
Walkercito Aug 17, 2025
d0b871c
fix: where clause fix
Walkercito Aug 17, 2025
9cfbb21
fix: lint errors
Walkercito Aug 17, 2025
55b3ee8
edit: typo of mine
Walkercito Aug 17, 2025
e1f88fa
fix: no more console.log plain text passwords
DannyTheHeretic Aug 17, 2025
b7294bf
Merge pull request #33 from A5rocks/easter-eggs
Walkercito Aug 18, 2025
74aa20b
feat: maassive file re-struct
Walkercito Aug 18, 2025
814b373
lint?
Walkercito Aug 18, 2025
13dc8aa
style: added a little bit of restructuring and linting
DannyTheHeretic Aug 18, 2025
08f963b
Merge branch 'file-struct' of https://github.com/A5Rocks/code-jam-12 …
DannyTheHeretic Aug 18, 2025
2af23db
fix: quick fix for where actors is broken switching to where actor
DannyTheHeretic Aug 18, 2025
974129b
feat: orginizing stuff now
DannyTheHeretic Aug 18, 2025
fca25bc
Merge pull request #35 from A5rocks/where-broke
DannyTheHeretic Aug 18, 2025
8da23eb
feat: added getting feeds, and changed it to accept author and actor …
DannyTheHeretic Aug 18, 2025
3f995ae
fix: fixing feeds
DannyTheHeretic Aug 18, 2025
418896c
lint: ruff linter
DannyTheHeretic Aug 18, 2025
1c35970
Merge pull request #34 from A5rocks/file-struct
A5rocks Aug 18, 2025
988fbc7
Parse LIMIT clauses
A5rocks Aug 18, 2025
0110c33
feat: select * from tables
DannyTheHeretic Aug 18, 2025
f2626bf
fix: cleaned up some old stuff
DannyTheHeretic Aug 18, 2025
5471d15
fix: cleaning up tables
DannyTheHeretic Aug 18, 2025
aa71dc5
Merge pull request #38 from A5rocks/tables-main
A5rocks Aug 18, 2025
27e51c6
Implement LIMIT in API calls
A5rocks Aug 18, 2025
78432d8
Simplify defaulting limit
A5rocks Aug 18, 2025
3051e1e
feat: default limit values
DannyTheHeretic Aug 18, 2025
ab84803
Merge pull request #37 from A5rocks/parse-limit
A5rocks Aug 18, 2025
d4ea78f
Start showing query parse errors
A5rocks Aug 18, 2025
ba628e4
Merge pull request #39 from A5rocks/show-errors
Walkercito Aug 18, 2025
7262711
fix: easter bug
Walkercito Aug 18, 2025
5e239c4
lint
Walkercito Aug 18, 2025
184d34e
Merge pull request #40 from A5rocks/fix-easter-egg
Walkercito Aug 18, 2025
923bb6d
Beginning of documentation
giplgwm Aug 20, 2025
95e50ca
update
Walkercito Aug 21, 2025
69f1326
scrolling
Walkercito Aug 21, 2025
d32ff85
req
Walkercito Aug 21, 2025
09ff220
python3
Walkercito Aug 21, 2025
7142cf8
add assets folder for storing GIFs for visual examples
Drakariboo Aug 21, 2025
d812018
fixes
Walkercito Aug 21, 2025
93c11a5
changes :D
Walkercito Aug 21, 2025
88554d8
Update README.md
DannyTheHeretic Aug 21, 2025
e07a158
likes
Walkercito Aug 22, 2025
e3d78ae
lint: fixed linter
DannyTheHeretic Aug 22, 2025
7a6405b
PR review
A5rocks Aug 22, 2025
b8f440d
Fix note admonition
A5rocks Aug 22, 2025
9257b73
Merge pull request #41 from A5rocks/docs
A5rocks Aug 22, 2025
d4a0539
Add 'iridescent-ivies/' from commit '9257b737610868357598e0a7c88d932d…
janine9vn Sep 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions iridescent-ivies/.github/workflows/lint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# GitHub Action workflow enforcing our code style.

name: Lint

# Trigger the workflow on both push (to the main repository, on the main branch)
# and pull requests (against the main repository, but from any repo, from any branch).
on:
push:
branches:
- main
pull_request:

# Brand new concurrency setting! This ensures that not more than one run can be triggered for the same commit.
# It is useful for pull requests coming from the main repository since both triggers will match.
concurrency: lint-${{ github.sha }}

jobs:
lint:
runs-on: ubuntu-latest

env:
# The Python version your project uses. Feel free to change this if required.
PYTHON_VERSION: "3.12"

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}

- name: Run pre-commit hooks
uses: pre-commit/[email protected]
32 changes: 32 additions & 0 deletions iridescent-ivies/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Files generated by the interpreter
__pycache__/
*.py[cod]

# Environment specific
.venv
venv
.env
env

# Unittest reports
.coverage*

# Logs
*.log

# PyEnv version selector
.python-version

# Built objects
*.so
dist/
build/
uv.lock
# IDEs
# PyCharm
.idea/
# VSCode
.vscode/
# MacOS
.DS_Store
src/sql_bsky.egg-info/*
28 changes: 28 additions & 0 deletions iridescent-ivies/.pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-toml
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace
args: [--markdown-linebreak-ext=md]

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.12.2
hooks:
- id: ruff-check
- id: ruff-format

- repo: https://github.com/astral-sh/uv-pre-commit
rev: 0.8.8
hooks:
- id: pip-compile
args: [
"--universal",
"--python-version=3.12",
"pyproject.toml",
"--group=dev",
"-o",
"requirements.txt"
]
7 changes: 7 additions & 0 deletions iridescent-ivies/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Copyright 2021 Iridescent Ivies
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:)

Suggested change
Copyright 2021 Iridescent Ivies
Copyright 2025 Iridescent Ivies


Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
131 changes: 131 additions & 0 deletions iridescent-ivies/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
## The Social Query Language (SQL-BSky)

[![Python](https://img.shields.io/badge/Python-3.12+-blue.svg)](https://python.org)
[![BlueSky](https://img.shields.io/badge/BlueSky-AT_Protocol-00D4FF.svg)](https://bsky.app)
[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE.txt)
[![Status](https://img.shields.io/badge/Status-Active-brightgreen.svg)]()

A retro terminal-style SQL interface for querying the BlueSky social network. Experience social media through the lens of structured query language with authentic CRT visual effects.

![App Initialization](assets/Init_sql_app.gif)

## Features

- **Dual Authentication**: Full BlueSky login or anonymous "stealth mode"
- **Public API Access**: Query public content without authentication
- **ASCII Art Images**: View embedded images as beautiful ASCII art
- **Real-time Validation**: Live SQL syntax checking as you type
- **Retro CRT Interface**: Authentic 1980s terminal experience with visual effects
- **Fast Performance**: Optimized queries with scrolling support
- **Easter Eggs**: Hidden surprises for the adventurous

## Quick Start

### Installation

1. Clone the repository:
```bash
git clone [email protected]:A5rocks/code-jam-12.git

# move to the dir
cd code-jam-12
```
2. Start the development server:
```bash
python3 dev.py
```

3. That's it! Open your browser to: [http://localhost:8000](http://localhost:8000)

### First Steps

1. **Choose Authentication Mode**:
- **Authenticated**: Login with BlueSky credentials for full access
- **Stealth Mode**: Browse public content anonymously

> [!NOTE]
> If the page is slow, try disabling the CRT effect at this point.

2. **Try Your First Query**:
```sql
SELECT * FROM tables
```

![Running Test Query](assets/run_test_query.gif)

3. **Explore Public Profiles**:
```sql
SELECT * FROM profile WHERE actor = 'bsky.app'
```

## Query Reference

### Available Tables

| Table | Description | Auth Required | Parameters |
|-------|-------------|---------------|------------|
| `tables` | List all available tables | No | None |
| `profile` | User profile information | No | `actor` (optional) |
| `feed` | Posts from a specific user | No | `author` (required) |
| `timeline` | Your personal timeline | Yes | None |
| `suggestions` | Suggested users to follow | No | None |
| `suggested_feed` | Recommended feeds | No | None |
| `followers` | User's followers | No | `actor` (required) |
| `following` | Who user follows | No | `actor` (required) |
| `mutuals` | Mutual connections | No | `actor` (required) |
| `likes` | User's liked posts | Yes | `actor` (required) |

### Example Queries

```sql
SELECT * FROM feed WHERE author='bsky.app'
```
- This will get all fields from all posts from the author's feed

```sql
SELECT description FROM followers WHERE author='bsky.app'
```
- This will get the bio of all followers of the author

```sql
SELECT * FROM tables
```
- This will get all available table names

## Known Issues

> [!WARNING]
> Please be aware of these current limitations before using the application.

> [!NOTE]
> Queries to non-existent tables or fields will return empty rows instead of proper error messages.

**Example:**
```sql
-- Both of these return empty rows (same behavior)
SELECT likes FROM feed WHERE author = "bsky.app"
SELECT apples FROM feed WHERE author = "bsky.app"
```

### KeyError in Feed Processing
> [!IMPORTANT]
> There's a known KeyError where the system looks for `"feeds"` but should be looking for `"feed"`. This is a human error we discovered after the Code Jam programming time had ended, so we weren't able to fix it, but we're aware of the issue and it may cause some like-table-related queries to fail unexpectedly.

##### Table `likes` Not Functional
> [!CAUTION]
> The `likes` table is currently broken and behaves like a non-existent table. This is due to the KeyError
## Team - Iridescent Ivies

- **A5rocks** - [GitHub](https://github.com/A5rocks) (Team Leader)
- **TheHeretic** - [GitHub](https://github.com/DannyTheHeretic)
- **Walkercito** - [GitHub](https://github.com/Walkercito)
- **Joshdtbx** - [GitHub](https://github.com/giplgwm)
- **Mimic** - [GitHub](https://github.com/Drakariboo)

## License

This project is licensed under the MIT License - see the [LICENSE.txt](LICENSE.txt) file for details.

---

**Thank you for exploring our project!!**
Binary file added iridescent-ivies/assets/Init_sql_app.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added iridescent-ivies/assets/run_test_query.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
29 changes: 29 additions & 0 deletions iridescent-ivies/dev.py
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good simple entrypoint script, makes it very convenient to run.

Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import http.server
import os
import socketserver
import sys
from pathlib import Path

# use src as start point
src_dir = Path(__file__).parent / "src"
if src_dir.exists():
os.chdir(src_dir)
print(f"[*] Serving from: {src_dir.absolute()}")
else:
print("[-] src/ dir not found")
sys.exit(1)

PORT = 8000
Handler = http.server.SimpleHTTPRequestHandler

try:
with socketserver.TCPServer(("", PORT), Handler) as httpd:
print(f"[*] Server running at: http://localhost:{PORT}")
print(f"[*] Open: http://localhost:{PORT}/")
print("[-] Press Ctrl+C to stop")
httpd.serve_forever()
except KeyboardInterrupt:
print("\nServer stopped")
except OSError as e:
print(f"[-] Error: {e}")
print("[-] Try a different port: python dev.py --port 8001")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not super important, but seems like specifying the port wasn't implemented?

54 changes: 54 additions & 0 deletions iridescent-ivies/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
[project]
name = "sql-bsky"
description = "Social query language"
version = "0.1.0"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"ascii-magic>=2.3.0",
]

[dependency-groups]
dev = [
"pre-commit~=4.2.0",
"ruff~=0.12.2",
"pytest",
Comment on lines +11 to +15
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's good to include these here for type checking in the IDE.

Suggested change
[dependency-groups]
dev = [
"pre-commit~=4.2.0",
"ruff~=0.12.2",
"pytest",
[dependency-groups]
dev = [
"pre-commit~=4.2.0",
"ruff~=0.12.2",
"pytest",
"pyodide-py~=0.27.7",
"webtypy~=0.1.7",
"micropip~=0.9.0",

]

[tool.ruff]
line-length = 119
target-version = "py312"
fix = true
src = ["src"]

[tool.ruff.lint]
# Enable all linting rules.
select = ["ALL"]
# Ignore some of the most obnoxious linting errors.
ignore = [
# Missing docstrings.
"D100",
"D104",
"D105",
"D106",
"D107",
# Docstring whitespace.
"D203",
"D213",
# Docstring punctuation.
"D415",
# Docstring quotes.
"D301",
# Builtins.
"A",
# Print statements.
"T20",
# TODOs.
"TD002",
"TD003",
"FIX",
# Conflicts with ruff format.
"COM812",
# Asserts are good, actually.
"S101",
]
40 changes: 40 additions & 0 deletions iridescent-ivies/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --universal --python-version=3.12 pyproject.toml --group=dev -o requirements.txt
ascii-magic==2.3.0
# via sql-bsky (pyproject.toml)
cfgv==3.4.0
# via pre-commit
colorama==0.4.6
# via
# ascii-magic
# pytest
distlib==0.4.0
# via virtualenv
filelock==3.18.0
# via virtualenv
identify==2.6.12
# via pre-commit
iniconfig==2.1.0
# via pytest
nodeenv==1.9.1
# via pre-commit
packaging==25.0
# via pytest
pillow==11.3.0
# via ascii-magic
platformdirs==4.3.8
# via virtualenv
pluggy==1.6.0
# via pytest
pre-commit==4.2.0
# via sql-bsky (pyproject.toml:dev)
pygments==2.19.2
# via pytest
pytest==8.4.1
# via sql-bsky (pyproject.toml:dev)
pyyaml==6.0.2
# via pre-commit
ruff==0.12.8
# via sql-bsky (pyproject.toml:dev)
virtualenv==20.33.1
# via pre-commit
Empty file.
1 change: 1 addition & 0 deletions iridescent-ivies/src/api/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# The main portion of fetching and recieving from Bsky
Loading