FediScanner

#python

← Back

PyCon AU 2025 tickets are available now — and score a limited-edition conference T-shirt! 👕✨

Don’t miss your chance to:
🐍 Be part of Australia’s biggest Python event
🧠 Learn from top speakers and workshops
🛍️ Rock the exclusive 2025 tee
🎫 Choose the ticket type that suits you — from students to pros

👉 Book now at 2025.pycon.org.au/attend?ref=fv

#PyConAU #Python #Data #AI #Science #Education

Show Original PostReport

Project reveal:

For the past couple of weeks, I was working on a modern Ansible connection plugin for FreeBSD Jails: jailexec.py

It utilizes the SSH connection to the host-system and jexec to execute Ansible automation within FreeBSD jails.

Makes it even possible to automate jails, that aren't reachable via SSH themselves (or even have no IP address).

Bonus features:

- Connection pooling and persistence for improved performance

- Efficient file transfer with proper permission handling

- Jail command execution via jexec with privilege escalation (doas/sudo)

- Comprehensive error handling and logging with multiple log-levels (-v -vv and -vvv)

After some polishing and testing, I will publish that under a BSD 2-Clause license on my Codeberg repositories and GitHub (Likely during the weekend)

#freebsd #bsd #ansible #automation #python #devops @vermaden

Show Original PostReport

My #LLM IDE generated some #Python code for me. It spits out a config file for another program, and then runs the program. I wonder why that program has trouble reading the YAML file we are generating...

config_path = os.path.join('output', f'config-{region}.yaml')
os.makedirs('output', exist_ok=True)
with open(config_path, 'w') as f:
json.dump(config, f, indent=2)

Show Original PostReport

@paco Not just faster, honestly? All around better and more capable.

For a full time Pythonista like myself, #uv has been a life changer!

  • manages #Python version installs (like pyenv)
  • Manages projects (Like poetry)
  • Manages package installs (like pip)
  • Manages package builds (like hatch*ling)
  • Managed Python based tool installs and updates (like pipx)
  • Lets you run Python programs out of pypi with nothing but the uv binary (like nothing else I'm aware of!)

Show Original PostReport

EvoDevo Papers’ improved website and Bluesky support

The newest version of EvoDevo Papers is online, and it’s the biggest update since the last codebase refactoring. I’ve made several additions and improvements to the website and implemented cross-posting to Bluesky.

Why have a website?

For many years, EvoDevo Papers’ posts were only on Twitter. Everything was well—until it wasn’t. When I moved it to Mastodon, all the 1.6k posts remained behind. The account was reborn with zero posts and followers. Posting continued in the Fediverse. However, when the botsin.space instance closed down and EvoDevo Papers migrated to biologists.social, the newer posts were also lost. The contents in third-party social media platforms, even of the finest kind, like the Fediverse, are ephemeral.

Ephemeral is fine and fits the original motto of streaming the latest papers. But, over the past years, I began to recognize that having a curated collection of works from a field can have a lot of value and deserves a persistent archive. That’s why when I refactored the bot, I made a website for EvoDevo Papers. It is meant to serve as the main source of content, while the posts are syndicated to third-party social media sites (following IndieWeb’s POSSE practice).

Website updates

The original website was minimal. It had a single page showing the five latest posts, the feeds, and an about section. There was no way to explore older posts or check in more detail the indexed feeds.

With the update, I made the home page simpler but more informative. There are now separate pages for the about, feeds, and posts, where you can browse the contents, and each post got an individual page linking to the associated statuses on Mastodon and Bluesky.

The website also has an RSS feed now to follow EvoDevo Papers directly from your feed reader.

Bluesky posting

In the turmoil of the Twitter exodus, supporting Bluesky posting wasn’t my priority. I was focused on making EvoDevo Papers work for Mastodon, since I believe the non-corporate nature of the Fediverse is a better and more robust option for rebuilding online scientific communities.

However, Bluesky reached a critical mass of scientists, particularly within the DevBio and EvoDevo communities, that I would like to reach. So, I’ve activated the EvoDevo Papers account there, and let the paper posting begin.

Implementing Bluesky support wasn’t trivial. It required substantial refactoring of the database models and publishing pipeline. But it was for the better. The app is now more modular and supports the addition of other accounts.

Next steps

With the refactoring of the publishing pipeline, I have the logic more or less in place to enable the posting of papers from the archive, not only the latest publications. This allows us to publish a random older paper, for example, on days when there are no new papers. This would increase the potential interactions.

For the same reason, I’m also considering increasing the frequency of posting to two times a day (currently it’s only once per day). Although I’m not convinced yet. I like the low posting rate; it feels less overwhelming. Who needs more social media posts on their timelines anyway?

Finally, I’m also importing the entire history of posts back from 2015 to consolidate the database and celebrate the ten years of EvoDevo Papers online.


URL: brunovellutini.com/posts/evode

#bibliography #django #evoDevo #python #webDevelopment

Show Original PostReport