Vacations with Python + ADK
Already got freedom in time?
https://aegis-freedom.pages.dev/
For simple static pages, Playwright is usually overkill. Prefer fetch, curl, cheerio, BeautifulSoup, or an API if available. Use Playwright when browser behavior matters.
Be careful with robots.txt, site terms, rate limits, login-protected content, personal data, and aggressive parallel scraping. Scraping with a browser is heavier and easier to get blocked if you hit a site hard.
https://github.com/dawarich-app/atlas
Your favorite offline self-hostable maps. City, Country, Planet, you choose.
https://atlas.dawarich.app/docs/quickstart
git clone /poc
cd ./poc/z-poc-trip-planner-v4
#https://github.com/JAlcocerT/poc/tree/main/z-poc-trip-planner-v4Which I have statically deployed at:
https://17e286bf.trip-planner-9lt.pages.dev/
Tl;DR
You should probably know the WHY you are going somewhere first.
This will just reply to the where/how.
[AI] Vacation Planning - Recommendations, Costs, Weather
Python App to explore vacAItion destination. LLMs ❤️ Data. While exploring Agents
Intro
Following the TripPlanner, I thought that bringing cost of living data was a good idea.
For the cost of living data, we can take online info…
Because weather and cost is all that matter, right?
This one goes for these people that claim to love Asia, without explainin’ why :)
Open Source Perplexity like AI search engine with real-time citations, streaming responses, and live data powered by Firecrawl
AI search engine with web, news, and images. You will need firecrawl and groq Apis.
https://selfh.st/apps/?search=trip
trip software
https://jalcocert.github.io/JAlcocerT/tech-for-a-trip/#trip-planner

https://jalcocert.github.io/JAlcocerT/geo-maps-and-data/

https://github.com/dedicatedcode/reitti immich with reitti
https://github.com/MrModest/reisenotiz
vpns: tailscale, wireguard
https://www.albertina.at/en/
Py Vacations
I tried to add AI capabilities to the trip planner but it didnt work out well.
It all started here, messed with other small projects
Weather Data
Home Data
Airbnb Listing with Smithery and MCP
And no API key!
Cost of Living Data
You could use playwright, or others like
But you can get away with bs4 actually.
Conclusions
I got to know that something similar exists: https://nomads.com/ from cool solopreneurs.
make cost-warsaw-capitals COST_ARGS="--limit 5 --delay-seconds 0.5 --fresh"
make cost-warsaw-capitals COST_ARGS="--delay-seconds 10"
make time-overlay-data
make cost-overlay-dataFAQ
Other Trip Apps
🗺️ Minimalist POI Map Tracker and Trip Planner

MIT | Self-hosted weather API based on ECMWF data, serving colorized WebP maps and GeoJSON contours for easy integration with MapLibre, Leaflet, OpenLayers, and other GIS platforms
lastminute.com
Where to go. When to go. Can I go?
Some time ago, I made a Trip Planner Web App, based purely on weather patterns as described here.
If you are tired of this:

Why not taking a break in between?
[How to] Spin the Python Trip Planner! 📌
- Follow the repo instructions
git clone https://github.com/JAlcocerT/Py_Trip_Planner && cd ./Py_Trip_Planner#docker build -t trip_planner .
DOCKER_BUILDKIT=1 docker build --no-cache --progress=plain -t trip_planner .docker run -d \
--name tripplanner \
-p 8051:8050 \
--restart unless-stopped \
trip_planner #ghcr.io/jalcocert/py_trip_planner #fossengineer/trip_plannerOr…Use the following docker compose:
<a class=“hextra-card group flex flex-col justify-start overflow-hidden rounded-lg border border-gray-200 text-current no-underline dark:shadow-none hover:shadow-gray-100 dark:hover:shadow-none shadow-gray-100 active:shadow-sm active:shadow-gray-200 transition-all duration-200 hover:border-gray-300 bg-transparent shadow-sm dark:border-neutral-800 hover:bg-slate-50 hover:shadow-md dark:hover:border-neutral-700 dark:hover:bg-neutral-900"href=“https://github.com/JAlcocerT/Home-Lab/tree/main/trip-planner" target="_blank” rel=“noreferrer”>Trip Planner | Docker Config 🐋 ↗
But we need something more to decide where and how to go next.
THE USE CASE - Plan a Trip To MRK
Py-VacAItions
The project to know where/when to go and IF you can go
PyVacations Project Structure 📌
- _index.md
- _index.md
<li class="flex list-none"> <span class="inline-flex cursor-default items-center py-1"><svg width=1em xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/></svg><span class="ml-1">getting-started.md</span> </span> </li>- _index.md
<li class="flex list-none"> <span class="inline-flex cursor-default items-center py-1"><svg width=1em xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/></svg><span class="ml-1">organize-files.md</span> </span> </li> </ul>
</ul>
- _index.md
<li class="flex list-none">
<span class="inline-flex cursor-default items-center py-1"><svg width=1em xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/></svg><span class="ml-1">post-1.md</span>
</span>
</li>
</ul>
content
├── _index.md // <- /
├── docs
│ ├── _index.md // <- /docs/
│ ├── getting-started.md // <- /docs/getting-started/
│ └── guide
│ ├── _index.md // <- /docs/guide/
│ └── organize-files.md // <- /docs/guide/organize-files/
└── blog
├── _index.md // <- /blog/
└── post-1.md // <- /blog/post-1/Numbeo Data
Its all about Knowledge of Crowds, not the tyrannyof the experts.
$$ \sum_{i=1}^{n} \text{opinions}_i > n \cdot \text{opinions} $$
First Knowledge Adquisition (with FireCrawl + openAI) 📌
python3 firecrawl_test4.py "https://www.numbeo.com/cost-of-living/in/Warsaw" "output4"**Comparing 2 cities’ costs with FireCrawl + OpenAI
python3 Z_FireCrawl_Numbeo_Compare_v6.py "https://www.numbeo.com/cost-of-living/in/Warsaw" "https://www.numbeo.com/cost-of-living/in/Barcelona"Weather Analytics
- Code and documentation for the Pirate Weather API - https://github.com/Pirate-Weather/pirateweather
Pirate Weather 📌
This is a new addition to the ones used at TripPlanner
Weather Patterns with MeteoStat 📌
Weather Forecasts with OpenMeteo 📌
Cost of Living Data
- https://www.numbeo.com/common/api.jsp - Max 200,000 queries per month
Interactivity & Maps with Streamlit
This is a really cool new feature from Streamlit.
The Agents
Its been a while since I got to know about CrewAI
Not its time to do something with it
Adding memory to the AI to know your preferences
FAQ
How to’s about SQLite
SQLite is a very handy and portable DB to place some logs.
Storing in SQLite 📌
Reading SQLite 📌
And now, there is even a fork of it
More about SQLite Fork - libSQL [Optimized for AI] 📌
SQLite is the most deployed database in history, with over 1 trillion active users. It was developed 25 years ago by Richard Hipp for a US Navy damage control system. This lightweight database is contained in a single 600 KB file, requires no server process, and is an essential part of many modern applications.
Although SQLite is in the public domain, its development is managed by just three people, with no outside contributions allowed. Despite these limitations, SQLite has become ubiquitous due to its simplicity and reliability.
In October 2022, a new fork called libSQL was introduced, with a focus on community-controlled development. It retains SQL-like compatibility with SQLite, but introduces new features to address some of SQLite’s limitations.
Key features of libSQL:
- One database per user: This approach could improve performance, reduce latency, and enhance security.
- Server mode: Allows access to the database via HTTP.
- Native replication system: Enables embedded replica features.
- Encryption at rest: Adds an extra layer of security for data storage.
- Web Assembly triggers: Lets you run code when specific events occur in the database.
- Shared schema across multiple databases: Makes it easier to manage databases together.
- Vector queries: Optimized for AI applications, enabling complex data operations.
Benefits and Challenges of libSQL:
- Performance: The one-database-per-user model can significantly boost performance and reduce latency, but it may create challenges with data retrieval and combining data across different locations.
- Security: Enhanced security through encryption and the isolated nature of individual user databases.
- However, retrieving and combining data from different databases may not be practical in all cases, especially when data is spread across geographically distant locations.
In conclusion, libSQL brings significant improvements over SQLite by offering a more flexible, community-driven approach to database management. With its new features and robust capabilities, it has the potential to revolutionize how we build and manage databases, especially for applications requiring high performance, security, and AI integration.
SQLite may be underappreciated, but with libSQL, it becomes even more powerful and adaptable to modern needs.
Reading SQLite DBs 📌
You can explore a SQLite via a script, like we did during the Scrapping Post
There is a cool project for this - https://github.com/sqlitebrowser/sqlitebrowser
sqlitebrowser - DB Browser for SQLite (DB4S) is an open-source tool for creating, designing, and editing SQLite database files.
It simplifies database management for users and developers, eliminating the need for complex SQL commands.
Key Features:
Visual interface resembling a spreadsheet.
Allows creation and modification of database files.
Supports searching, editing, and deleting database records.
Facilitates importing/exporting of data in various formats (CSV, SQL).
Offers SQL query capabilities with result inspection.
Provides graphical plotting of data.
Key Information:
Continuous and nightly builds are available for download.
Compatible with Windows, macOS, Linux, and FreeBSD.
Installation options include package managers like Chocolatey, Homebrew, and Snap.
The project has a rich history of community contributions and updates.
Conclusions:
DB4S is a valuable tool for users needing an intuitive interface for SQLite database management.
Similar Projects:
DBeaver: A universal database tool for developers.
HeidiSQL: A lightweight SQL client for MySQL, SQL Server, and PostgreSQL.
Interesting software for Vacations
Interesting maps for offline mode:
flatpak install flathub app.organicmaps.desktop
GPL3.0 | A modern, open-source personal flight tracking system
See also the AdventureLog project:
It has very interestin use cases, even integration with Immich
Or the
Share media with your friends (airdrop for all devices):
GPL 3.0 | A Progressive Web App for local file sharing
VPN
- Wireguird with
.conffile you have vpn setup on ubuntu - and maybe a travel router
- Wireguird with
MIT | Surmai is a personal/family travel organizer
HomeAssistant
With HA we also can…
Scrapping and LLMs
Get Google Flights information with python.
