Adrián Chaves (Gallaecio)
EN GL

Work on free software in July 2026

194h 50m

Personal

142h 50m

Nutrition

87h 50m

Nutrinte

87h 50m

I made great progress on the roadmap. I completed the first chapter of the tutorial and drafted the rest of it, finished and internationalized the documentation (moving from YAML files to Sphinx), added many new food templates and support for more food databases, reworked the guidelines so they match the reference data (including configurable authorities, energy-rate limits, pregnancy support, and extra vitamin C for smokers), and implemented a long list of new features such as menu tags, weight tracking, menu export and import, unit conversion, meal notes, and menu durations.

Games

55h

Godot game experiment

55h

It was an experiment: I used Godot to try to create an action RPG based on The Battle for Wesnoth. I have already decided to abandon the project.

Web scraping

51h 35m

Scrapy

50h 35m

In addition to reviewing many pull requests, I opened 45 pull requests, of which 27 have already been merged. In CI and tooling, I set up CodSpeed, switched to installing dependencies with uv, and reduced the test job matrix while maintaining coverage.

I improved the test coverage of scrapy.utils, scrapy.commands, scrapy.extensions, scrapy.pipelines, scrapy.cmdline, and the spiders.

I added scrapy.utils.asyncio.sleep(), support for CONCURRENT_REQUESTS = 0 for unlimited concurrency, RobotParser.crawl_delay() and a robots_parsed signal, exporting item fields in declaration order, AWS_MAX_POOL_CONNECTIONS, and treating broken cache records as cache misses. I also fixed a port issue with cached DNS.

I documented urlparse_cached, added documentation sections for callbacks and errbacks, added a stats reference, and converted several documentation pages to autodoc (contracts, trackref, stats, exceptions, and spiders).

I also proposed deprecating the download_delay spider attribute, limiting response headers size like browsers, supporting HTTPS proxies with Twisted and aioboto3, supporting feed modes, and browser-like bad header handling for the default download handler. I kept working on the new throttling API and solved conflicts in my older pull requests.

cssselect

35m

I reviewed pull requests, including the release notes for version 1.5.0.