ManimCommunity / ManimCommunity/manim-website-api
Ideas for the API
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 5
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Description
We are about to deploy the initial version of the API which currently provides data for the awesome-manim feed on the website (corresponding PR for the website https://github.com/ManimCommunity/manim-website/pull/73)
The scraper currently:
- fetches the list of all YouTube channel links from the README file
- scrapes the publicly available RSS feeds that are available from
https://www.youtube.com/feeds/videos.xml?channel_id=xxxxxxx. - searches for the substrings
Manim(case insensitive),#some(case insensitive),SoME(case sensitive) in the video title or description. When found, the videos are marked as "being manim videos". - The scraper then puts them on a MySQL database and serves videos chronologically on a paginated endpoint
/videos/n, 30 videos at a time.
This issue records some ideas we could implement in the future based on feedback.
- A deeper scrape of all the channels (RSS feeds just return the latest 15 videos)
- An algorithmic feed that prioritizes videos with higher engagement, but still retains the chronological ordering to some degree
- ...
Feel free to discuss these and propose any other ideas.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or concrete acceptance criteria are identified. Start by reviewing the current scraper and the paginated /videos/n endpoint, then choose one proposal, such as deeper channel scraping or engagement-based ordering. Before implementation, define the required behavior and what constitutes a complete result.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- mysql, python
- Domain
- api, backend, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100