HNHacker News
TopNewBestAskShowJobs

meredydd

3,161 karma · joined April 15, 2008

Cofounder of Anvil, a platform for building full stack web apps with nothing but Python: https://anvil.works/

Email: meredydd@anvil.works

Based in Cambridge (UK).

submissionscomments
meredydd··on Anvil: full stack web apps built only with Python
That I can talk about publicly? Probably https://lightningai.com/.

Their control panel drives companies' entire online marketing operation - creative, targeting, performance, and more - across multiple advertising services. That's a whole lotta UI. Their back end drives the advertising platforms' APIs (eg Google and Facebook), and it all hooks into great big machine learning operations that run on big beefy servers out in EC2. Not just a pretty CRUD app, that's for sure.

(Unfortunately, they know what their services are worth, so I can't just point you at a live demo ;) )

meredydd··on Anvil: full stack web apps built only with Python
We do exactly that! (https://anvil.works/blog/anvil-on-site)

Installing and running it is typically a single 'docker-compose' command. If you're interested in this option, please do drop us an email at sales@anvil.works.

meredydd··on Anvil: full stack web apps built only with Python
I'd take the other side of that bet ;)

Anvil's built in "Users" service is incredibly simple and un-magical (user records are just database rows, and you can reimplement vanilla password login in four lines). This makes hacking on it an awful lot easier than some magically injected extension that needs to be configured just so.

(Check out the API: https://anvil.works/doc#users)

meredydd··on Anvil: full stack web apps built only with Python
Yes, it can! Check out the "Secure download portal" example app at https://anvil.works/learn#examples - it's got group-based access control.

(Nothing magic - it's just a database. Even user records are just table rows, so you can link or categorise them however you like!)

meredydd··on Anvil: full stack web apps built only with Python
Yes, we do - depends on number of licences, country, and institution. Drop us a line at education@anvil.works.
meredydd··on Anvil: full stack web apps built only with Python
> would be interested in knowing if I can build UIs via code alone

Yes you can! Check out all the code examples in: https://anvil.works/doc#forms

meredydd··on Anvil: full stack web apps built only with Python
Are you looking for this? https://anvil.works/blog/multi-user-apps

Multi-tenant/single-DB is a pretty common and straightforward pattern with a lot of support in Anvil (eg restricted views, as described in the video).

I'm also currently working on a multi-part video series, showing the creation of a SaaS product, from scratch to monetisation. Sign up for our mailing list, and watch this space :D

meredydd··on Anvil: full stack web apps built only with Python
Hello! I don't recognise your username, but might recognise your face. Hope you enjoyed the con :)
meredydd··on Anvil: full stack web apps built only with Python
Yes, we do! Check out the Uplink: https://anvil.works/blog/uplink

It's a library you `pip install`, which lets you connect Python code running anywhere in the world to your Anvil app. Everything you can do from Anvil server code, you can do from your Python code, wherever it's running. You can define server functions, HTTP endpoints, access data tables, etc.

We have customers controlling IoT devices with it (like that Raspberry Pi video). We also have companies driving big machine learning jobs on EC2 servers with tons of GPUs - but with all the UI and housekeeping in Anvil.

meredydd··on Anvil: full stack web apps built only with Python
We already do! Paid users can choose "Assets" in the app browser and edit the HTML/CSS/etc. (You can also check the app out with Git and edit them there.)

We'll also be adding more built-in themes before long :)

meredydd··on Anvil: full stack web apps built only with Python
Yes! See our first walkthrough video, which includes a screenshot of the (unmodified!) sample app on an iPhone. (https://anvil.works/learn)

You can control which columns do and don't collapse on mobile or tablets. See this post from our user forum: https://anvil.works/forum/t/how-do-i-make-my-apps-look-nice-...

meredydd··on Anvil: full stack web apps built only with Python
That's exactly what you can do! If you open up a Server Module, you'll see a drop-down in the top-right. That will allow you to select a Python 3.6 runtime.

The client-side code is Python 2 only for now, but we're already upgrading our Python-to-Javascript compiler to include Python 3 syntax.

meredydd··on Anvil: full stack web apps built only with Python
Compiling Python to Javascript is always going to be incomplete. (For example, it doesn't make much sense to open() a file from the browser!)

However, we run full CPython (2.7 and 3.6) on the server, so any language feature you like is just a function call away :)

meredydd··on Anvil: full stack web apps built only with Python
Check out my talk on the Skulpt compiler from PyCon US this summer: https://anvil.works/blog/pycon-talk

Skulpt has a separate compiler stage that compiles Python to JS, and a runtime library. There's no need to eval() that code in the same JS VM that compiled it, so it's totally feasible to ship the JS to the client and run it there.

meredydd··on Anvil: full stack web apps built only with Python
I'd dispute that! There are much larger applications built on Anvil; it's just hard to build a two-week project for a demo video, and harder still to build a two-month one ;)

We're starting to post some larger examples (check out our "download portal" example at https://anvil.works/learn#examples - I'm also working on a video series building a SaaS app over the course of a few hours). But the biggest apps are, of course, our customers', and we can't really publish them as examples.

meredydd··on Anvil: full stack web apps built only with Python
Absolutely - please ask about our Enterprise plans ;)

That said, even with the standard plans you can plug into your own Postgres database from server code (just `import psycopg` - it's only Python, after all). And using the Uplink, you can access Anvil's database from your code anywhere on the internet, with the same API as Anvil server code.

meredydd··on Anvil: full stack web apps built only with Python
We use the Skulpt Python-to-Javascript compiler (I'm a maintainer): http://skulpt.org

You might be interested in my talk from PyCon US this summer, where I talked about the compiler, and how we turn blocking Python code into non-blocking Javascript code:

https://anvil.works/blog/pycon-talk

meredydd··on Anvil: full stack web apps built only with Python
Funnily enough, we had someone build a web-app out of his Jupyter notebook just two days ago. And it only took him a couple of hours:

https://twitter.com/anvil_works/status/924352019258920960

He just copied and pasted his code from the notebook into an Anvil server function, and it ran first time! It's all just Python, at the end of the day.

meredydd··on Anvil: full stack web apps built only with Python
This is a really hard question to answer. We've got everyone from scrappy one-person startups building products on Anvil, to larger startups pumping terrifying quantities of money through Anvil apps, to Seriously Large Companies We Can't Name building internal tools with our on-premises version.

Right now we're taking it all as it comes, but we never want to lose our focus on accessibility: It's way too hard to build web apps with today's traditional tools, and we want to make it easier for everyone.

meredydd··on Anvil: full stack web apps built only with Python
Honestly, we would absolutely love to open-source it! The issue is that we're a bootstrapped start-up, and it's rather difficult to make open source pay the bills, even if it becomes huge (see, eg, Docker's troubles). By charging for the product, we can claim some of the value we create, and be sustainable so the platform stays around.
meredydd··on Anvil: full stack web apps built only with Python
Strictly speaking, that compilation happens in JS, not necessarily client-side ;)

(Right now, it does run in the browser, but we'll be moving it to the back-end soon to improve performance. For now it's good enough.)

meredydd··on Anvil: full stack web apps built only with Python
Were you at PyCon UK this weekend? Cause you just repeated our pitch, just about word for word :)

I started out on QBASIC and Visual Basic, back in the day, and as far as I'm concerned it's practically dereliction of duty that there wasn't something similar available for the web. Eventually, we got fed up enough to go and build it ourselves.

meredydd··on Anvil: full stack web apps built only with Python
No kidding! We were at PyCon UK this weekend, and we had an 8-year-old girl building database-driven web apps in an afternoon:

https://twitter.com/anvil_works/status/924648315983155200

As to your second point - yes, that's a common pattern. We see people going "oh, let me just sketch out the UI...well, I'll add a bit of code...oh, look, it's in production and scaling!"

We do have a lot of support for integrating with external systems, so it's easy to gradually move off from (or on to) Anvil. External access to the database is just the start of it :)

meredydd··on Anvil: full stack web apps built only with Python
Pricing is per-developer-seat; we don't limit the number of apps you can build or publish.

Usage limits are pretty soft right now (depends heavily on what you do in your code and how hard you're hammering our servers), but the general intention is to charge you more as you scale up your team, rather than because you got a few thousand users.

meredydd··on Anvil: full stack web apps built only with Python
Glad to hear it! Some details about the tech stack:

* Front-end code is compiled from Python to JS with Skulpt (http://skulpt.org)

* The back-end code runs in a custom Python sandbox. Calls to server functions go over a secure web socket (this lets us do fun things like returning database rows directly from server functions, rather than faffing with REST APIs all day)

* The built-in database (Data Tables) is based on Postgres, using its JSONB and GIN indexing to create a table you can search efficiently on any column. This also means that things like transactions are properly robust.

meredydd··on Anvil: full stack web apps built only with Python
Hi there! Founder here, slightly gobsmacked to see this top of HN. Do feel free to ask me any questions about the platform :)

We also have a bunch of tutorial-cum-demo videos at: https://anvil.works/learn#tutorials

meredydd··on Anvil: full stack web apps built only with Python
(founder here)

Urk? Firefox is an officially supported platform for the editor. What didn't work, and what version of FF are you using?

Once you've written an app, it should work in everything since IE11.

meredydd··on Near Future of Programming Languages [pdf]
Anvil founder here!

The crucial difference between Outsystems(/Bubble/etc) and Anvil is that Outsystems tries to be a "no-code" environment, and we think that's a mistake (or at least, a different market).

Delphi and Visual Basic proved that writing code isn't the problem - code is the best way to tell a computer what to do. But writing code in five different languages to produce "Hello World" on the web...now that will slow you down.

(Count 'em: JS, HTML, CSS, backend eg Ruby/Python, SQL. We do everything in Python, which gets you going much faster. We just got back from PyCon UK, where among other things we got an 8-year-old building database-backed web apps in an afternoon. That's the sort of thing that used to happen with VB/Delphi.)

meredydd··on Rise of the Creative Class Worked a Little Too Well
> when someone comes out with something like Visual Basic for the web

Obligatory plug: Check out https://anvil.works - it is exactly that! Drag and drop UI, Python front-end and back-end, database integration...the whole deal.

meredydd··on Why I use Object Pascal
I'd like to see what you think of https://anvil.works

It's deliberately built in the Delphi/Visual Basic tradition, and trying to carry those virtues onto the modern web.

← PreviousPage 6 of 11Next →