Bandersnatch’e Python paketlerinin dağıtımını ve yönetimini kolaylaştırmak için tasarlanan PYPI deposunun mirroring tool’u diyebiliriz.
Yazılım geliştiricilerin Python paketlerini internet üzerinden indirmek yerine yerel bir depodan indirmesi için bir istemciye, bandersnatch kullanarak bir mirror depo oluşturabiliriz.
Küçük bir örnek yapalım, bandersnatch ile mirroring’ i başlatıp, yerel pypi depomuzu, 8080 portumuzdan web üzerinden yayınlayalım.
Ben örneği Ubuntu 22 ile pip ve python yüklü bir sanal makina üzerinden yapacağım.
Hemen Ubuntu üzerinde Python3 ve Pip’ ın yüklü olduğunu doprulayalım eğer yüklü değilse apt install python3 ve apt install pip komutlarıyla yüklemeyi tamamlayalım.
root@mada-virtual-machine:/srv/pypi/web# python3 –version
Python 3.10.12
root@mada-virtual-machine:/srv/pypi/web# pip –version
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)
Ben de hepsi tamam :), şimdi pip yardımı ile bandersnatch’ i kuralım.
pip install bandersnatch
root@mada-virtual-machine:/home/mada/piprepo# bandersnatch –version
bandersnatch 6.5.0
Şimdi bandersnatch.conf dosyamızı oluşturup mirror işlemini nereye yapacağımızı belirleyelim.
[mirror]
; The directory where the mirror data will be stored.
directory = /srv/pypi/web/simple
kaydedip çıkalım;
Mirroring işlemini başlatabiliriz, şimdi mirroring işlemini başlatıp web dizinimi 8080 portundan açacağım ve repo muza web tarayıcısından erişebileceğiz.
bandersnatch mirror

Mirror başlamış 🙂 dizini http üzerinden erişime açıp kontrol edelim bakalım.


Evet yerel depom için paketler indirilmeye ve yayınlanmaya başlamış.
bandersnatch ile kendimize yerel bir pypi deposu oluşturabilir, depomuzu güncelleyebilir ve kullanabiliriz.
Faydalı Olması Dileklerimle,