zerbaib@portfolio: ~ — bash

zerbaib@portfolio:~$ neofetch

zerbaib@portfolio

-----------------

Name: Hugo · Zerbaib verified

Role: Python developer

Focus: Discord bots · network & servers

Uptime: 6+ years of Discord bots

ASN: operator on DN42

Location: France

Shell: bash

Editor: VS Code · PyCharm

zerbaib@portfolio:~$ cat about.txt

French developer who loves building things end to end: from Python libraries and Discord bots to routers, hypervisors and my own autonomous system on DN42.

zerbaib@portfolio:~$ ls ./links

zerbaib@portfolio:~$ ls -l ~/projects --featured

Featured projects

The projects I'm the most proud of.

volta.py

drwxr-xr-x zerbaib flagship python rest-api requests

Volta.py

The official Python library for the Volta Music public API. A lightweight client with a clean client.get / post / put / delete interface to manage your library, playlists and the global catalog.

  • Automatic token management: fetch, refresh and persist to disk
  • Silent retry on 401 and background auto-refresh thread
  • Typed exceptions (NotFoundError, RateLimitError…)
  • Context manager for a clean shutdown, client-side search helpers

$ cat main.py

1from VoltaLibPython import VoltaClient
2
3with VoltaClient() as client:
4    tracks = client.get.library.tracks(
5        search="daft punk"
6    )
7    pl = client.post.library.playlist("Roadtrip")
8    client.post.library.playlist_track(
9        pl["id"], tracks[0]
10   )

$ pip install git+https://github.com/VoltaMusic/Volta.py.git

TheDiscordBot

drwxr-xr-x zerbaib flagship disnake mariadb pillow

TheDiscordBot

My all-in-one Discord bot written in Python with disnake. The result of more than 6 years of experience building bots for community servers.

  • Modular architecture: commands loaded automatically as extensions
  • MariaDB / MySQL database for persistent data
  • Config file generated on first launch, custom logger
  • Image generation with Pillow, formatted tables with tabulate
# general

zerbaib

/rank

TheDiscordBot BOT

Level 42 · 13 370 XP

disnake 2.12 · MariaDB

zerbaib@portfolio:~$ ls ~/projects/others

zerbaib@portfolio:~$ systemctl status dn42-bgp

Network & servers

Beyond code, I build and run my own infrastructure.

dn42-bgp.service

● dn42-bgp.service — I operate my own AS on DN42

Loaded: loaded (/etc/bird/bird.conf; enabled)

Active: active (running)

DN42 is a decentralized network run by enthusiasts that reproduces the technologies of the Internet: BGP, autonomous systems, IP allocations, DNS and a registry. I own an autonomous system on it: I manage my own address space, set up peering sessions with other operators and route traffic with BGP — exactly like an ISP, at home scale.

zerbaib@portfolio:~$ systemctl list-units --type=service --state=running

● mikrotik.service active running RouterOS configuration: routing, firewall, NAT, VLANs and BGP sessions.
● cisco-ios.service active running Cisco IOS switches and routers: VLANs, trunks, routing and CLI administration.
● proxmox-ve.service active running Virtualization of my servers: VMs, LXC containers, storage and backups.
● named.service active running Running authoritative and recursive DNS servers, managing zones and records.
● nginx.service active running Reverse proxies (Nginx) to expose services securely with HTTPS.
● bird.service active running Autonomous system, peering, prefixes and route announcements on DN42.

zerbaib@portfolio:~$ tree ~/skills

Skills

The languages, systems and tools I use every day.

├── languages/

  • python
  • html5
  • css3
  • bash

├── operating-systems/

  • linux
  • debian
  • ubuntu
  • windows
  • android

├── tools-servers-databases/

  • git
  • docker
  • nginx
  • mariadb
  • mysql
  • sqlite
  • bootstrap
  • github-actions
  • vscode
  • pycharm
  • pypi

└── currently-learning/

  • javascript
  • typescript
  • java
  • php

zerbaib@portfolio:~$ pip list --mine

Python libraries I master

PackageUsage
disnakeDiscord bots: slash commands, cogs, events, embeds, views.
requestsHTTP clients and REST API wrappers (Volta.py).
mysql-connectorMariaDB / MySQL access from my bots.
PillowImage generation and manipulation (rank cards…).
tabulateClean text tables for logs and bot output.
tkinterDesktop GUI applications.

zerbaib@portfolio:~$ cat ~/contact.txt

Let's talk

A project, a bot, a peering on DN42? Reach out!