Tarayıcıda Python çalıştıran açık kaynak platformu PyScript
(pyscript.net)- PyScript, tarayıcıda Python kodu çalıştırmayı sağlayan ve web sayfasının kendisini bir Python çalışma ortamına dönüştürebilen açık kaynak bir platformdur
- Web’in evrenselliği ile Python ekosistemini birleştirerek, tarayıcı olan her yerde Python çalıştırmanın mümkün olduğunu öne çıkarır
- Karmaşık kurulumlar olmadan uygulamalar tarayıcıda çalıştığı için, Python’un öğrenmesi kolay söz dizimiyle web tabanlı uygulamalar geliştirilebilir
- Kod kullanıcı tarayıcısında çalıştığından pahalı altyapı yükünü azaltır ve ortaya çıkan sonuçlar web URL’leri üzerinden paylaşılabilir
- Hem yeni başlayanları hem de ileri düzey kullanıcıları hedefler; kolaylık, ifade gücü, ölçeklenebilirlik, paylaşılabilirlik, evrensellik, güvenlik ve güçlülüğü temel özellikleri olarak sunar
Tarayıcı içindeki Python çalışma ortamı
- PyScript, tarayıcıda Python çalıştırmak için geliştirilen açık kaynak bir platformdur
- HTML içinde
script type="py"kullanarak Python kodu çalıştırmak buna örnek olarak verilebilir- Örnek kod, tarayıcı belgesi içinde
print('You can!')komutunu çalıştırır
- Örnek kod, tarayıcı belgesi içinde
- PyScript’in temel yönelimi, web ve Python adlı iki teknoloji ekosistemini bir araya getirmektir
- Web, dünya çapında evrensel bir bilgi işlem platformudur
- Python, dünyadaki en popüler programlama dillerinden biridir
- Sonuç olarak, tarayıcı olan her yerde Python çalıştırmanın mümkün olduğu mesajını öne çıkarır
Başlangıç yöntemi ve platform özellikleri
- PyScript.com üzerinden ücretsiz ve kolayca denenebilir
- Belgeler, hem yeni başlayanlara hem de ileri düzey kullanıcılara yöneliktir
- Topluluk kaynakları üzerinden PyScript ile neler yapılabileceği görülebilir
- Discord aracılığıyla diğer PyScript kullanıcılarıyla bağlantı kurulabilir
- PyScript’in öne çıkardığı özellikler şunlardır
- Easy: Karmaşık kurulumlar olmadan uygulamalar tarayıcıda çalışır
- Expressive: Python gibi güçlü, popüler ve öğrenmesi kolay bir dille uygulamalar geliştirilebilir
- Scalable: Kod kullanıcı tarayıcısında çalıştığı için pahalı altyapıya ihtiyaç duyulmaz
- Shareable: Uygulamalar web URL’leri üzerinden paylaşılabilir
- Universal: Tarayıcının çalıştığı her yerde kod da çalışır
- Secure: Tarayıcı gibi kendini kanıtlamış bir bilgi işlem platformu üzerinde çalışır
- Powerful: Web’in ve Python’un avantajlarını birlikte kullanır
1 yorum
Hacker News görüşleri
Kullanım örneğini merak ediyorsanız Dallas suç istatistikleri Panel panosunu burada görebilirsiniz: https://crimede-coder.com/graphs/Dallas_Dashboard
İlk açılış yaklaşık 1 dakika sürüyor; buna çeşitli Python kütüphanelerinin kurulumu ve harici 5MB veri kümesinin yüklenmesi dahil. Bir kez açıldıktan sonra oldukça iyi tepki veriyor ve iPhone'da da iyi çalışıyor
Birlikte çalıştığımız birçok kuruluş Tableau'nun ücretsiz sürümünü kullanıp verileri manuel güncelliyor, çünkü ücretsiz sürüm veri deposuna doğrudan bağlantıya izin vermiyor. Bu ücretsiz bir alternatif ve sıkıştırılmış CSV dosyalarını GitHub Actions ile üretip ortamın içe aktarmasını sağlayacak şekilde kurduk
Safari içinde iPad'de bir Panel uygulamasını çalıştıracak kadar Python'u bootstrap etmenin 8 saniyeden çok daha uzun süreceğini sanmıştım. Shift yenileme ise yaklaşık 6 saniye sürdü
Veri analizi için Python gerektiği ve sunucu maliyeti yüzünden bunu sunucu tarafında çalıştırmak istemedikleri bir sorun olup olmadığını da merak ediyorum
Ana sayfaya bakınca da kafam karıştı, belgeleri okuduktan sonra da bunun tam olarak ne olduğundan pek emin değilim
Kendim biraz kurcalayınca web sitesine koyup “Hello World” gösterebildim.
type="py"olan script'leri arayan ve Pyodide üzerinden Python'dan JavaScript'e transpile eden bir script gibi görünüyorAma ana sayfa demosu bir REPL ve başlıkta da “platform” yazıyor, bu yüzden hâlâ kafam karışık
jspaketi muhtemelen gerçekwindownesnesine eşleniyor ve bir tür Proxy nesnesi üzerinden DOM metotlarını çağıran bir API sunuyorTarayıcı konsolunda Python çalıştırabilmeyi umuyordum
Bu, Pyodide'dan nasıl farklı? https://pyodide.org/en/stable/
PyScript, Pyodide ya da MicroPython kullanabiliyor ve MicroPython gerçekten oldukça küçük. PyScript, runtime'ın üstünde sadece Python kodu çalıştırmanın ötesine geçip, Python'u web programlamada gerçekten kullanabilmek için kolaylıklar ve yaşam kalitesi iyileştirmeleri sunuyor
Son zamanlarda PyScript ile Python CLI uygulamalarını tarayıcıda çalıştırma konusuna epey derin girdim
Her şey baştan sona epey hacky hissettirdi, özellikle işin içine bağımlılıklar girince daha da fazla. Pydantic 2.x kullanamadığım için geçici çözüm olarak wrapper sınıfları yazmak zorunda kaldım; tüm mantığı Python dosyalarında tutmaya çalıştım ama eksik özellikler yüzünden bir kısmını JavaScript'e koymam gerekti
Python kodunun üstüne basit bir arayüz ve özelleştirilmiş UI mantığı eklemek istediğiniz durumlarda işe yarayabilir ama Streamlit ya da Gradio daha uygun olabilir
GitHub deposu: https://github.com/data-catering/data-contract-playground
Web sitesi: https://data-catering.github.io/data-contract-playground/
Gerçek kullanım örnekleri bulmak zor. Makine öğrenmesi modelleri çalıştırmak istiyorsanız ONNX ile build edebilirsiniz: https://onnxruntime.ai/docs/tutorials/web/
JS/TS yerine tarayıcı tabanlı uygulamalar yapmak için bunun ne kadar verimli olacağını merak ediyorum
Firefox'ta script yazıp tarayıcıyı kontrol edebilmek güzel olurdu. Bunu, GET anında, tüm GET'lerden sonra, JavaScript değerlendirilmeden önce ve sonra gibi istenen herhangi bir aşamada değerlendirme yapacak şekilde kastediyorum
Bunun gibi bir şeyi yapabilen ve Python'un tüm özelliklerine de host üzerinde erişilebilen araçlar olup olmadığını merak ediyorum
Bu, Brython ile aynı fikir değil mi? BRowser pYTHON: https://brython.info/
https://github.com/brython-dev/brython
https://yasoob.me/2019/05/22/running-python-in-the-browser/
Biraz övünmek gerekirse, PyScript kullanarak daha katı görüşlere sahip reaktif bir frontend framework'ü yaptım. Biraz Vue.js'den ilham aldı: https://puepy.dev
Geçmişte bununla bir Markdown renderer yapmıştım. Çok basit kaynak kodunu burada görebilirsiniz: https://pyscript.com/@stuartmaxwell/markdown-previewer-v2/la...
Uygulama mobilde iyi çalışmayabilir ama masaüstünde sorun çıkarmayacaktır. Django ile yazdığım blog uygulamasında bu kodu kullandım
Her türlü WASM kurulumunda, sonuçta CORS yüzünden birçok API'yi çağıramamak veya siteleri scrape edememek gibi büyük bir kısıt olması gerçekten can sıkıcı
Elbette CORS, XSS gibi şeyleri önlemek için önemli; ama CORS'u kaldıran bir proxy kurmak dışında başka bir yol olsa iyi olurdu. Bunu yaptığınızda, konut tipi IP yerine engellenme olasılığı daha yüksek IP'lerle kalıyorsunuz