Regarding my last post, there are 2 new tools that I use and abuse ;-)
I like virtualenv, I used it sometimes ... but pew fits better my needs. I really like the features, and found it a lot more useful; I can create envs to share with multiple projects. It's exactly the kind of tool you can't stop to use after using it ;-)
My current python stack, under my ubuntu, is completely broken (due to mixing apt-get/pip). Pew helps me to create clean python's env on demands. (But sure, one day; I will try to repair my debian like ;-)
pytest is the second tool I like a lot,
and regret not having used it earlier ! It's clearly the way to create/manage tests in a project. I love the fixtures injection, it let us create simple (but powerful) tests, without all the hassle. tests are a lot easier to read, to maintain. Can't be simpler ;-)
Thanks to sam&max ;-)
I've upgraded my stack, at least for vbuild, but sure: my others projects will follow ;-)
- poetry for package management
- pytest for tests
- tox for automation (tests for me only)
- black for formatting (pep8)
- pew to manually manage python env
What a fresh breeze !
If you see that, you are on my new hosting service (thanks alwaysdata.com !)
After many years on GoogleAppEngine : I leave ;-)
Like I said in the previous post, py3/gae is no more an option. It's a lot more expensive than the py2/gae. This website has a little traffic, and it runned well on py2/gae, under free quotas. Now, in its py3 version, it's more than $40/month ! Don't want to come back to py2 : so no other option than migrate to another hosting provider, with free quotas.
It's done, easily (thanks to pye) ! Just copied/pasted the files, and migrate my db from gcloud datastore to simple yaml files ;-)
BTW, I certainly won't release ibraining (new version) on gae/py3 ... I stop the process. I will need to find another provider too ;-)
EDIT 2019-01-03 : Everythings seems to work, and jbrout has reached its original hosting domain : jbrout.manatlan.com !
Tags: gae, ibraining
Happy new year 2019 ...
My new year has made a faulty start ;-) Just got the first fully facture, from Google, for this website !
December 2018 was more than 42$ ... ouchhhhh !
So I will block the facturation, and this site will be available only when under quotas ;-)
Sorry for that, but I couldn't spend this each month ;-)
BTW, this site will quit GAE soon, for a cheaper hosting service ;-)
Til that, it will be available randomly, really sorry (but I don't want to put ads to pay the traffic) ;-(
Just released an attempt to port the good old jbrout(py2/gtk) to python3, using wuy.
Here it is : jbrout3
Currently, it's more that a proof of concept (to proove that wuy can handle a "big app"). Hope to reach a v1.0.0 version, next year.
Just updated all the broken links on jbrout's website.
But I must say I'm not working anymore on that (mainly use goole photo ;-( )
I will try to take contact with the official fork, and will update things soon.
A lot of changes since my last post ;-)
First, I found a name for my "aed things" : it will be pye (like PYthon Engine), and because the "E" means "3" too (in leet speak) : it means 3 because it's the third version, and because it's now python3 only. I'll hope to release it next year (but the place is defined here);-)
Secondly, all my aed/pye instances are now running on python3 ! And this site was the last to migrate (a lot of works, because it uses a lot of ndb's apis, which are not availables on "gae python37 second generation" ... so I needed to use gcloud datastore api ;-( ... and here (you can't see them) : there are 3 services to migrate ;-)
BTW, pye with starlette (asgi thing) is great, with web sockets support, long running process, background tasks ... a lot of new things are now available for me (except on GAE, because websockets are not available yet) ... no more bottle, because it's not asyncio ;-( ... But I needed to adapt the starlette's request to the bottle's request, to be compliant with all my instances ;-)
I've made my pixel thing using pye, and websockets, with 4 workers. I needed to communicate between my process workers, to share the "events" (IPC communcations). First version used redis ... but I have created my own redis-like for the occasion : it's named redys, a lot lighter and simpler ;-), it's full python3 asyncio compliant, and works like a charm in asyncio app like starlette or pye ;-)
This is the first post, with pye/python3 ;-)
Big day ... my aed thing is now fully py3 compliant.
So I can host, a fully featured demo of vbuild ;-)
Now, I need to migrate my app engine aed things from py2.7 to py3.7, before the end ... no pressure ;-)
One week later : I've got one which runs on AppEngine with python37 !
Although everything has changed : a lot of apis are not availables ;-( (wtf?!). The migration from ndb to google-cloud-datastore was relativly easy. (Need to implement the google auth).
One week later : 7 instances (including 2 gae) of my aed thing is now powered by py37 ;-)
At work; I used to use postman to test my rest apis. It was cool, but they were drawbacks
SO I decided to create reqman, which is mainly a command line. And some people don't like that ;-)
(BTW it saves my life every day, at works, at home, where it's scripted/scheduled to tests my rest apis/services)
So I decided to build a frontend. I did'nt want to use the classicals GUI python frontends. WHen I was looking for alternatives ; I found eel (which re-use a chrome installed app as frontend).
Eel was great (but bugged (js and pyinstaller troubles), and not py3 likes reqman), So I decided to create mine : wuy (same concepts, but py2->py3, gevent-> asyncio,
and a cool js/py frameworks to hide the socket between front & back)
Coming from web development ; I wanted to use VueJs things in wuy, so I built vbuild, to let me
use vue/sfc component in wuy, to avoid to use a full node-js stack, just for a simple module like wuy.
And when making vbuild, I ask myself if I could make a kind of "python components", because I was already in a python VM : why not try to let use python component instead of js ones.
My first attempts was very quick with pretty good results : and so, I create thoses python components in vue/sfc file with vbuild.
(now my vuejs app on App engine use vbuild too, with my aed thing)
Now, I can concentrate on my reqman's frontend ;-), and others : I've made 2 or 3 GUI app using wuy+vbuild+vuejs, and found the stack very useful for that kind of thing ;-)
Yesterday, I released a simple module on github : vbuild, and pypi. I use it everyday, since 3 or 4 years, but decided to release it for everybody.
I tell it on r/python and r/vuejs and hacker news ... and created a real debate ;-)
Currently, I was 139 starred on github, making it my first project ... awesome ;-)
It's just 100 lines of code ... but they seems to be useful for others people.
The main problem that vbuild resolves is here. If you want to use SFC .vue components, in your vuejs app : you have no other option that to use webpack/nodejs stack on dev platform ! Really frustrating !
With vbuild : you can use 5 lines of python code to do the same kind of things : use ".vue" sfc in your app. That's all ! (btw it provides its own js-minimzer (via online tool))
vuejs (hey Evan You !) should really consider to offer others options (like that ? compiled at runtime)
BTW, vbuild let you build big wuy app easily (with vuejs and vue files). I use it in my aed thing, where it's clearly not possible to use nodejs stack ;-)
To feed the buzz, announces of python component was here r/python, r/vuejs and HackerNews