gophering on
HN Gopher Feed (2017-10-30) - page 1 of 10
Anvil: full stack web apps built only with Python
392 points by galfarragem
leerob - 5 hours ago
Looks promising but my biggest gripe is the visuals. Maybe in the
future, you could support different themes or skins? It's great to
be able to bootstrap a website quickly, but if this is going to be
customer facing the design needs some love :)
  neil_s - 2 hours ago
  +1. I know that enterprise might be your main focus and internal
  web apps don't need a lot of styling love, but just the ability
  to add Bootstrap or Semantic UI components would make this
  beautiful. Of course, hiring a designer to work on the Anvil
  website itself as well as the default styling couldn't hurt.
  meredydd - 5 hours ago
  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 :)
Walkman - 3 hours ago
This looks interesting but I would never lock in myself to a
proprietary platform completely.
foolinaround - 8 hours ago
Can the data be replicated to our own pg database from the built-in
database? Close to real-time?
  meredydd - 8 hours ago
  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.
    johnyseeslately - 2 hours ago
    What you should really do is also sell anvil in a form that
    makes it possible  to host on premise or in AWS or somewhere
    else. Even if you charge a 1000$for that people would pay up.
    You don?t need to open source everything but you can sell the
    compiled c files instead with installations and support
    guidelines. I would love to use it but if I cannot control the
    infrastructure I feel my hands are tied.
      meredydd - 2 hours ago
      We do exactly that!  (
      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
  jimnotgym - 8 hours ago
  I'm interested in thisAlso things like bulk uploads to a table
  for migration, would I have to write a service for this? I have
  an app I would like to migrate that has a sqlite table with
  static data in it, that I could see using this. I suppose I could
  use the server connector, but what other tools does this have?
cloudwizard - 3 hours ago
I would pay double if the app produced was a progressive web app.
tmikaeld - 10 hours ago
Whenever i see these cloud apps that seem like a good idea, I just
think of spiralling costs similar to the likes of firebase written
about on HN before.Their pricing page doesn't show anything about
usage limits and if it is "per site" or "per domain" or "per
  meredydd - 10 hours ago
  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.
    tmikaeld - 10 hours ago
    Does Anvil render server-side or is it client-side only?My
    issue is if being used for websites, on average our sites get
    ~50k visitors a month or even spikes with that amount.The same
    goes for complexity of the system, for simple html sites it
    will not matter much but for very dynamic apps this will
    require a lot of CPU time.
      icebraining - 9 hours ago
      Reading the docs, it says the Forms run on the client, so
      most rendering should run too. Client-side rendering - while
      it has its disadvantages - shouldn't be worse for the CPU
      time than server-side, though. What's your concern?
    gonational - 7 hours ago
    So as long as I build the next  Twitch on my own you guys will
    just charge me $50 per month? That?s freaking awesome! It?ll
    save me $5300 per month in hosting already![heads over now]
    blunte - 1 hours ago
    It is this lack of clarity (published limits) that scares many
    of us.  It basically says that we won't know when we'll be cut
    off or shut down, but we'll find out when it happens!So if we
    build something that becomes wildly successful, we could
    suddenly be in a world of hurt if our site is deemed too heavy
    and we're throttled or worse.  It would be like Pokemon Go -
    big explosion, lots of tiny pieces, customers gone.I urge you
    to have some kind of professional plan with guaranteed tiers.
    Otherwise, only naive people or people who really don't care
    about the future will use it (outside of the prototyping case
    everyone else is mentioning).On the other hand, it would be the
    perfect tool for someone on upwork or the like to do a gig
    ultra fast, leaving the client to deal with all the future
    pains.  But since most projects end up not huge and successful,
    that might be just fine!
vladsanchez - 10 hours ago
Can't help to think about Delphi. Good job! ;-)
sandGorgon - 8 hours ago
Please do jupyter -> webapp. that's a ready market for you.
  meredydd - 8 hours ago
  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
  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.
mephitix - 1 hours ago
I love it. But seeing this now, in 2017, is a bit depressing to
me.For the last 15 years Microsoft has been putting out the same
RAD tools, but based on ASP.NET/C#/Visual Studio. Things like drop-
in provider-based OAuth, editing versioned database projects,
WYSIWYG UI, etc. Publishing to the web, even the flow of clicking
on a button to edit its handler looks like it was based directly on
Winforms which is a 12 year old technology.Why aren't there more of
these things out there?How much time now is spent learning the
latest and greatest framework/toolkit/etc. only to spend more time
configuring individual components and cobbling them together vs.
just getting the product finished and published to users? I don't
mean to be cynical but I wish there was some way all these
different tools somehow built on each other instead of constantly
resetting the dev stacks.For example, Create React App - I'm
constantly impressed by how it has eschewed configuration in favor
of getting things done while still having a lot of flexibility. It
draws on a lot of great, previous past projects and seems to define
the train of thought for other react projects. It seems to me that
people like Dan Abramov, Brent Jackson, and others are on the same
wavelength which is incredibly powerful for the react
community.There should be a way for that sentiment to extend beyond
React, into the database world, the IDE world so that we can
collaborate and create more nice things like this.
  viraptor - 32 minutes ago
  > Why aren't there more of these things out there?There are a few
  - I did like the MS PowerApps recently. But these things work
  well in an enterprise environment where "works" is important, but
  "users don't want to kill themselves during interaction" is not.
  These tools are usually great at putting together a quick CRUD
  app that fits requirements. But they're typically not flexible
  enough to give you that finished and polished for users product.
  If you want to do that rather than a flow of basic forms and
  tables, you'll start fighting the framework at some point and
  then think "maybe I should've just used X from the start".Maybe
  it doesn't have to be that way, but I did see this a lot.
g105b - 9 hours ago
I love this idea. It reminds me a lot of old school .NET worked
within Visual Studio, or the Delphi editor for Windows application
forms..NET has evolved into a totally different beast so I don't
use it any more. This framework brings back the simplicity that I
feel has been lost from drag and drop tools.Drag and drop tools
exist for the web, but there's nothing that introduces and
organises the use of simple programming languages within the mix -
at least that I know of - so this is definitely going into my list
of cool tools.
typon - 5 hours ago
What if I want to run my own custom Python server code...say I have
some Cythonized modules or C extensions. Do you guys support this
  meredydd - 5 hours ago
  Yes, we do! Check out the Uplink:'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.
    typon - 4 hours ago
    Damn, that's cool. I'm going to give this a try now
metalliqaz - 8 hours ago
It's $50 a dev/month for custom layouts and user logins?  What
independent could afford $600 a year?
  rahoulb - 7 hours ago
  What is your hourly rate?  Is it less than $50/hour?
    metalliqaz - 6 hours ago
    I fail to see the equivalence.  I'm not contracting with Anvil
    for development or support.  I'm basically buying a tool, in
    this case a tool that is more expensive than my hosting costs.
      rahoulb - 6 hours ago
      Well - two areas.One, if you're using it commercially, it's
      going to pay for itself pretty quickly.  I rarely do client
      projects for less than several thousand pounds; I reckon I
      could probably churn a lot of them out using this in half the
      time.Two if you're not using it commercially, it's still a
      very low cost; maybe more than pure hosting but it does a lot
      more than just hosting.
        metalliqaz - 6 hours ago
        Is it supposed to be an either/or?  I don't see how I could
        give up my Amazon services.
          infinite8s - 2 hours ago
          Is your time worth 0?
        mcintyre1994 - 1 hours ago
        Honest question, this looks awesome but how would a
        contractor justify using it? Would you somehow swallow the
        risk of them going out of business for whatever reason and
        promise a rewrite for clients (is that something you can
        get insured for?) or would clients just be okay with the
        risk? It seems like you'd have to have already bought
        enterprise to be able to run this without them from what I
        can tell?
  pjmlp - 3 hours ago
  Many can easily affort it, depending on the country I guess.Our
  consulting rates are way above that per week.
  brogrammernot - 6 hours ago
  You?re talking 6 hours of billable time to cover a year?s usage.
  The time savings alone of creating PoCs/MVPs for clients pays
  itself off.
  Jake232 - 7 hours ago
  Almost any? Think of the time saved.
startupdiscuss - 7 hours ago
I am torn:1. Great idea, just what "we" need in the language we
need. (Python cloud RAD).2. But I don't want to do all this work
and be locked into your system forever. I want to be able to run
this on Digital Ocean or AWS etc. if I want.I think am open source
version where you give people an option of hosting on your site at
first would be the best compromise. Please consider it.
  sametmax - 7 hours ago
  You are basically asking them: "I love your work. Please add an
  option so I can use it, benefit from it, then leave and never pay
  you again."
    geebee - 6 hours ago
    Yes, that's true.  But that does describe Rails.  A pure Python
    web framework, integrated, with a python to javascript
    transpiler is very likely to emerge, but I can say with almost
    total certainty that it will have to be open source.I don't
    know any actual numbers, but I think DHH and basecamp almost
    certainly profited from the popularity of Rails.  That's
    probably up for grabs, since integrated web environments in
    non-js languages may become a big deal over the next decade.
      sametmax - 6 hours ago
      DHH and basecamp made money because they are explicitly not
      open source and you have to pay for it.The fact they are
      built with RoR is an implementation details. 37signals was
      very good at communication, Ror or not. Their blog and books
      were fantastic.ROR as a FOSS may have helped, but I doubt it
      was instrumental.
        geebee - 6 hours ago
        yes, exactly, they found a way to monetize a product other
        than their framework, and they used the OSS framework to
        draw attention to the non os project.  Whether that was
        deliberate or unintentional, I don't know, but it certainly
        worked out.EDIT: I agree with you that the product is good,
        and that the communication was excellent, but I disagree
        that the success of ROR was minor to the success of that
        company.  It brought a tremendous amount of attention.
          sametmax - 5 hours ago
          But here the RAD is the product. Their end game. Basecamp
          was the product, and ROR just a by product of it.
          Complety different.
    startupdiscuss - 7 hours ago
    I will only leave it and never pay if something terrible
    happens: the price is jacked up, service suffers or I create
    such a great thing that I need commodity pricing.But its worse
    than that: if I don't have the security that I can leave, I
    won't dedicate time to use this.I am happy to pay for the
    convenience and to try to create MVPs or proofs of service
    etc.Anyway, it hardly matters what I think. Imagine what all
    the students and start ups think when they see it.
      sametmax - 6 hours ago
      It's ok, you are probably no the target for the service.If
      you want control, you don't use a closed source saas RAD.I
      would not use the product for myself. I would hate been
      locked down.But I can see the value for others. For some,
      having one easy but clear solution is the important value.
        icebraining - 3 hours ago
        Customers aren't that black and white. I used to work for a
        SaaS company, and having the option of requesting the
        source and copy of the database was crucial to land quite a
        few of our contracts.That said, I agree with you that it's
        probably not their best approach right now. Even if it
        pains me to say so :)
          infinite8s - 2 hours ago
          There are definitely companies that provide an escrowing
          service for their platform (in case they go out of
          business, etc).
        amenod - 3 hours ago
        I don't think being locked down to a service is that
        important in this case. I see Anvil as a potentially
        valuable tool to create prototypes, to quickly iterate on
        an idea... then when it is validated, you can build it with
        more conventional (and safer in terms of future) tools.
          _red - 2 hours ago
          Yes, its funny but I think of python itself as an
          exceptional good "prototyping" language. Thats not to say
          it can't be used in production, but I think the real
          power of python comes from its ability to go from 0-100
          in a very short amount of time (powered by all the great
          python libs).So in a sense, Anvil is valuable at its
          price point for just as a web prototyping service. Most
          new developers obsess on things like "scalability" and
          "MVC separation", etc and in 95% of cases their creations
          never ever generate enough traffic to warrant any of
          that. I see Anvil as a tool that would allow developers
          to sketch out an idea, quickly iterate features based on
          feedback, and when warranted, move to a full production
    nicpottier - 7 hours ago
    This is not an unreasonable ask though. You should certainly
    think twice to pigeon holing yourself with any technology that
    you do not have full rights to and will be lost without a
    specific provider.It does make figuring out your business model
    more complicated, but having SOME story for what will happen if
    you go out of business or start being a bad actor is something
    you need to figure out.It isn't impossible though, our SAAS is
    Open Source and we survive, though yes, some customers do
    choose to self host. You just end up with fewer enterprise
    customers and more smaller clients.
      sametmax - 6 hours ago
      I understand the request, because I would not use the service
      myself for the same reasons.But let's be real, if it became
      open source, I would just host it and never pay for it.  They
      would have to do more work for less money. Hardly fair.They
      can always start with a strong commercial offer, then later
      address the user locking issue. For them, I think it's a way
      better strategy. FOSS first is very hard to monetize. The
      Libre community is a terrible customer.
  thrownaway954 - 5 hours ago
  From the website, it looks like you can clone the git repo
  locally, so you would have the code. Now what I want to know
  through is if that repo contains all the "magic" code that anvil
  does. You have to upgrade to PRO in order to clone a git repo
  mattstibbs - 28 minutes ago
  I played with Anvil for the first time at PyConUK last weekend,
  and I was really impressed.Specifically on the point of accessing
  your code:- if you Architect your code well enough you can keep
  reasonable separation between generic Python code and code that
  is tightly-coupled to Anvil (I.e. keep it modular)- and Anvil
  does actually provide a means for you to directly clone your
  Anvil app code locally from their servers using Git. This would
  give you a copy of all your code including front end templates
  etc.I think tie-in is always a consideration but we are
  increasingly getting into that situation with things like AWS,
  and so we really must balance the pros and cons. I?d rather by
  tied in and profitable if I?m trying to get something off the
gigatexal - 9 minutes ago
the editor is really nice, it's ability to sense what I am about to
type is borderline magic. It'd be cool if that were open sourced,
but I understand if few to none of this is going to be since
they're trying to bootstrap a business.
pryelluw - 3 hours ago
Who owns the source code?
visarga - 7 hours ago
Coudn't find the download link inside the members area. How do you
install it?
toolittle - 10 hours ago
I only watched the video, so it is a bit early to judge, but I
wonder: 1. Why put that much effort in explaining it takes only 6
minutes in setting up a web app? Anyone who has done any serious
web app knows how quickly you can set up a simple app really does
not matter much for an app even of moderate size, let alone big
ones? 2. Why yet another attempt to abstract away everything and
using one language (python) only? What happens when you need to
debug nitti-gritty js/css/html/sql?
  JustSomeNobody - 8 hours ago
  These tools are for simple CRUD apps for people who aren't
  necessarily strong developers to begin with but need to put
  together something anyway. That's why the demos focus on speed
  and only ever show the tiniest of applications.
    meredydd - 7 hours ago
    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 - 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.
      JustSomeNobody - 7 hours ago
      Fair enough. I may have been a bit harsh (though not really
      on purpose). I'll look through some of the larger examples. I
      just tend to think that if one's team has the chops to write
      something large and more complicated than a CRUD app, they
      aren't going to want to start here. That's not to say there's
      not a role for these types of tools...
      methodover - 2 hours ago
      What's the largest, most complex application running on Anvil
        meredydd - 1 hours ago
        That I can talk about publicly? Probably 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 ;) )
rekshaw - 9 hours ago
Looks very impressive. Any plans of offering this a-la-gitlab: paid
hosting + support OR free downloadble source but then you're on
your own? Main concern is that for something to really become
ubiquitous the community should be able to contribute and not just
be in the hands of two developers (no offense, I think you did a
fantastic job!)
  jo909 - 8 hours ago
  I share this concern. I made a resolution not to tie myself to
  proprietary services for anything that I couldn't replace/move
  within a few days. I can move containers, databases and even
  serverless functions.Starting from scratch seems to be the only
  option here, so I would hesitate to even start a small prototype.
  Which is a shame because I really like your model.
  icebraining - 9 hours ago
  Also, and exactly because I find it very interesting and well
  done, I'm curious about what happens if the company goes down, or
  pivots, or gets acquired.
dalacv - 6 hours ago
Is it possible to implement drag and drop functionality in an app?
For example, I want to drag an object into a list of objects as in
this example:
jtwaleson - 10 hours ago
Awesome! I work at Mendix where we've been building something
similar for just over 11 years now. Companies in this space (rapid
app development for the web) typically target the Enterprise market
and are typically not open source, I think that's why they don't
get much interest on HN.The market is heating up though, we are
growing fast and our competitors do as well. Moreover, Google
(AppMaker) and Microsoft (PowerApps) have entered the race in the
last two years.Looking forward to seeing more of Anvil.
rahoulb - 7 hours ago
This looks amazing (speaking as an old Delphi programmer).My three
questions:- I have a client whose app sits idle but then gets hit
by maybe 300 concurrent users, all reading and writing within a few
seconds of each other - do you have anything in place to deal with
that kind of spike in usage?- It looks like it's designed to be
always online - any plans to make it offline-and-sync capable?- Any
documentation or hints on automated testing?
jimnotgym - 4 hours ago
I'm actually hoping that this will allow me to avoid a very grave
situation, which is that we have some workflows which we were going
to be pushed into handling with Sharepoint! I'll take Python any
linsomniac - 2 hours ago
This looks really nice, reminds me of what you could do with Visual
Basic for creating GUIs, and I really liked that experience (though
I did very little of it).One thing I really don't like about it is
how the free pricing level doesn't have authentication.  Seems like
I can't really build a toy project that I then "graduate" to a real
app.  Or maybe the plan is that you build it as a private app as a
toy and then start paying $45/mo when you want to make it public
and have auth?I feel like if the free level was limited by
something else, like database size or something?I can understand
why they want to drive people to revenue-generation.  Just seems
like a feature that hurts more than it helps, by keeping people
from even trying it?
jimnotgym - 10 hours ago
I can see this as an amazing teaching aid too. You can take away
all the learning about tech stacks and platforms and various
languages and server config etc. for a while and concentrate on
developing the idea and developing a process.Edit: My son is going
to love this when he gets home!It seems good enough that you could
push the prototype live as an MVP.I am interested if you grow to
something to the stage where you want to move off this and onto
something more customised, do you have access to be able to
properly migrate the DB somewhere else?
  20years - 4 hours ago
  Using this as a teaching platform was my first reaction too.I
  don't think I would use it for anything production though without
  an option to export the app (database & source for my app). I
  would pay the listed monthly subscription fees in a heartbeat.
  That is a no brainer for the time this appears to save but I have
  learned the hard way too many times in the past on being locked
  into a platform for business crucial stuff.I would be fine even
  paying a one-time fee of few hundred dollars to be able to export
  my app if I need to. Simply for the peace of mind of not being
  locked in if something happens.
  meredydd - 9 hours ago
  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: 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 :)
cies - 2 hours ago
Like many I'd be afraid for to much tie-in with this system. If I
could export my code is a way that it's usable and based on open
source libs, I have the liberty to extend it beyond what Anvil's
limitations.But now I'd probably still take the upfront cost to get
a bigger app started without tie-ing in with a service. For rapid
prototyping it seems awesome!
astrapat - 7 hours ago
Anvil looks like the Wix of python sites.personally, I'm going to
stick to flask and django.this is nice and all... but you still
have to learn python to get it going.  My preference is to learn
Python/Flask via books, tutorials, and as part of a big community
(websites/forums, IRC, etc).But... I really don't see the benefit
of this, even after watching some videos.the drag and drop stuff?
that's just html and css (child's play)python? that's still
python.I'd much rather just open a blank Ubuntu 16.04 server on
DigitalOcean and pull my repository from github.  I.e. work like a
real developer :)I wouldn't mess with Anvil, personally.  I'd
prefer to do code by hand, with a framework that has been around
for a while.
  sametmax - 7 hours ago
  I love Django and flask. I'm an expert at both. I train people at
  both.But come on. 6 minutes with DB, responsive design,
  registration (including social auth or AD) and online deployment
  ? I can't top that. No even close. Even with boostrap and
  pythonanywhere. And I know the freaking API by heart while most
  people are just trying to figure out what's going on.This stuff
  is amazing for somebody who just want to fiddle with a CRUD app.
  The ratio investment / return is crazy.
    kolanos - 4 hours ago
    And the thing that a lot here are missing is the integration
    aspect. If you have team members who aren't coders, they can
    still participate with the drag-and-drop UI builder. Anvil is
    definitely on the right track here, I'm not a fan of drag-and-
    drop UI builders, but can definitely see how useful it would be
    for a product person on my team being able to jump in and make
    changes to the UI without needing to tap me on the shoulder.
    That being said, I'd prefer a code-based representation of the
    UI and didn't see anything like that -- would be interested in
    knowing if I can build UIs via code alone.Wish Django had a
    mature integrated client-side UI toolkit like this, I'm amazed
    given how advanced django.contrib.admin is that the Django team
    hasn't already generalized much of the admin components. If
    anyone is aware of something like this already let me know,
    with React eating the world it looks like DRF + React is the
    only way to go these days..
      meredydd - 4 hours ago
      > would be interested in knowing if I can build UIs via code
      aloneYes you can! Check out all the code examples in:
CamTin - 10 hours ago
Anybody know of any self-hosted alternatives to something like
  yorwba - 10 hours ago
  It's an "enterprise feature"
  installationFor when you need to keep sensitive data or apps
  inside your firewall. Anvil on-site installations allow you to
  develop and deploy your apps entirely in-house.
    CamTin - 8 hours ago
    I was thinking more in terms of ameliorating the risk of
    building a successful small business on this and them going out
    of business after gorging themselves on VC money and having a
    heart attack.
      tim333 - 6 hours ago
      You could probably rewrite your thing in Django or similar in
      the event of that. Given that the majority of web apps don't
      turn into successful small business it might be a good way to
      try stuff.
        CamTin - 2 hours ago
        My use case is closer to being a small dev shop doing
        webapps for other people. If they go out of business, I
        would have tons of Django/whatever work all of a sudden,
        but lots of pissed off customers when I don't have time to
        rewrite them all. Plus I (morally) would need to warn them
        about this risk when pitching/selling them, which would
        probably put a sizeable dent in sales: "Also, there's a
        chance that this completely separate company stops
        supporting their product and we have to charge you for a
        complete rewrite of your app".
mixmastamyk - 7 hours ago
Awesome work.  Skulpt says it currently handles Python 2, and not
the full 2.7.  How long until that is fixed?
  meredydd - 7 hours ago
  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 :)
    mixmastamyk - 7 hours ago
    Ok, so I can run 3.6 code on the server and return the
    output?As Py2 is EOL in about two years it feels risky for
    anything to be built on it.
      meredydd - 7 hours ago
      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.
  tim333 - 7 hours ago
  The IDE on the page says "Python 2.6(ish)"
airfoil - 5 hours ago
I can't wait to try this out! The introduction video is incredibly
compelling and it looks like an amazing product. Nice work!
nmstoker - 10 hours ago
Saw it demo'd at PyConUK this weekend and it looked v impressive!
  daviesian - 9 hours ago
  Thanks! We had a blast at PyCon. We built over 140 demo apps in
  four days, and now we're waiting for our voices to return :)
neonbat - 5 hours ago
i met these guys at pycon. they are very responsive to feedback.
  meredydd - 5 hours ago
  Hello! I don't recognise your username, but might recognise your
  face. Hope you enjoyed the con :)
photonios - 8 hours ago
There's something comparable being developed by a company in
  tim333 - 7 hours ago
  Outsystems has been there a while - I remember looking at it five
  years ago. It's kind of expensive - "starting at $2100/month".
    pjmlp - 3 hours ago
    Their target market is more the type of companies that don't
    think twice about Oracle licenses.
    photonios - 3 hours ago
    Oh yes. I know some people who work with them, and they charge
    quite a bit of money. They're exactly like Oracle, they'll
    charge you for every single feature and these are not small
    amounts. Not to mention the pain you have to deal with once you
    want to do anything more complicated than their platform
    provides. I am not aware of anything stories in particular but
    I can imagine that migrating away from them is not an easy
    task.On the other hand, I gotta give it to them that it does
    some things well. I definitely see it solving problems in
    industries that need custom software but simply don't have the
    resources or capital to get a completely custom, from-scratch
voidmain0001 - 4 hours ago
I searched the documentation URL with Google for the word "tenant"
and it returned no results.  Does this mean that Anvil does not
support multitenancy, for SaaS sites?
  meredydd - 4 hours ago
  Are you looking for this?
  appsMulti-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
    voidmain0001 - 4 hours ago
    Much obliged.  I will look to see if this can be extended to
    provide logical groups of users for the same resource.
      meredydd - 3 hours ago
      Yes, it can! Check out the "Secure download portal" example
      app at - 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!)
gigatexal - 11 hours ago
I have been looking for this for a while now! Going to tinker with
ceronman - 9 hours ago
This looks really really cool.In the 90s we had RAD tools like
Delphi or Visual Basic which allow you to create simple apps very
quickly. I feel that we are missing RAD on the web these days.
There are so many different moving pieces. To do a full modern web
app you need to learn different languages and frameworks plus other
technologies for hosting such as containers or AWS, etc. That might
work for complex apps, but sometimes you just want to do something
simple that you can easily design visually, use one language and
hit one button to publish. I have the feeling that Anvil is moving
in this direction.And extra love for using Python :D
  meredydd - 9 hours ago
  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.
    ceronman - 9 hours ago
    I wasn't there :)I learned to program with Turbo Pascal and
    then moved to Delphi. While watching your introduction demo my
    thoughts were "this is like Delphi for the web". I've also
    missed something like this for a long time.I'm definitely going
    to try your product!
    zitterbewegung - 6 hours ago
    Are these websites responsive too ?
      meredydd - 6 hours ago
      Yes! See our first walkthrough video, which includes a
      screenshot of the (unmodified!) sample app on an iPhone.
      ( can control which columns do
      and don't collapse on mobile or tablets. See this post from
      our user forum:
    geoelectric - 5 hours ago
    It is really cool to see someone reviving the RAD concept,
    especially within the Python ecosystem. I was pretty big into
    Delphi back in the day--even worked for Borland testing it for
    a bit. I'm looking forward to trying this out.
  g105b - 9 hours ago
  Hmm, we must share the same demographic because I just commented
  a reply almost identical to yours.Happy Pythoning :)
  zitterbewegung - 9 hours ago
  Visual Basic where you replace basic with Python is compelling
  enough. On the web with a visual design editor ? That?s worth
  more than 50 bucks enough so that you can crank out a prototype.
  gadders - 9 hours ago
  SilverStream used to do something a bit similar, and compile
  everything into Servlets. This is pre-2000.http://www2.sys-
    amrrs - 9 hours ago
    Did you mean Microsoft Silverlight?
      gadders - 8 hours ago
      No, this waaaaay older than that. I'm talking 18 or so years
    ajksharma - 7 hours ago
    Went nostalgic. I remember SilverStream. I had made a proposal
    for a movie theatre booking project around 2000 and had
    proposed using this. Though the client didn't care, I was very
    much in to the java hype raging then. (this is India)
      tluyben2 - 7 hours ago
      Ah the CMS wars of the 2000s. In a David/Goliath kind of
      thing, we managed to beat them many times when they were one
      of the offerings. I don't remember why we won usually but
      probably because we were local and price.
msl09 - 10 hours ago
Doesn't seem to work with firefox :(
  meredydd - 10 hours ago
  (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.
    daviesian - 10 hours ago
    (another founder here!)We've now been in touch by email about
    this bug, and we'll make sure a fix is pushed ASAP!
      daviesian - 7 hours ago
      Update: Turned out to be an old version of Firefox. Upgrading
      made the error go away.
bobjordan - 7 hours ago
So I've been working on a python flask web app in part time/spare
time for my business for almost two years (in addition to running a
company doing several million USD in sales over that time without
the app.) In that two years, I've tracked my programming time with
wakatime and I'm at >1000hrs now, more than 25 full-time 40hr work
weeks of actual coding time. I'm running the app on a dedicated GPU
server, as part of the apps function is to evaluate 3D CAD files.
Time spent managing and running a dedicated server is not even
counted in the 1000hrs. Of course, I've also had to learn to be a
Postgres database admin and dozens of support libraries. And,
certainly must have at least some javascript/jquery. Libraries like
flask-admin and flask-security are great. But, when you need them
customized for production, it takes weeks of time to dig in and
actually learn how they are built from the inside out. Need to
subclass and override much of it to finally have something usable.
I literally just spent about a month hacking on flask-security to
get the login/email-confirmations/email templates/argon2-hashing/2
-factor-auth the way I need it. Then, I watch this video the guy
replicates most of the functionality in six minutes. Nice work,
definitely looks like heading in right direction.
  dtornabene - 4 hours ago
  I'm curious what you're using to evaluate the CAD files? Do you
  mind sharing that information?
  ApolloFortyNine - 4 hours ago
  My personal experience with Flask has led me to believe it's many
  times easier to expand on vanilla Flask then it is to try and
  incorporate any of the flask-* libraries.
    larrykwg - 1 hours ago
    Flask never really seemed like a very mature framework to me,
    it got so many strange inconsistencies and very dubious design
    choices I much prefer newer, significantly simpler
    frameworks.One example is the way the request context works in
    flask, I venture to say thats just terrible software design in
    my book (from flask import request, g). And seriously to have
    your framework give you a "global" variable to put random stuff
    in, wth?Also I rather not use Flask-SQLAlchemy since why should
    my database models be tied so incredibly closely to some
    library of my web MICRO framework, it doesn't make sense, I
    mean its not django why introduce this coupling?It seems if you
    need all the dependent libraries (like webassets and wtforms)
    just use django from the get go instead of going through the
    pain of trying to cleanly integrate dozens of flask
    libraries.To see how a proper simple middleware-based framework
    should look like consider express, koa (nodejs), or bottle,
    falcon. Aiohttp and tornado also have their place of course.
    peller - 3 hours ago
    Having just built a boilerplate that integrates a bunch of the
    flask-* libraries, I think the key really is that you need to
    be careful about how you organize your code: it's important to
    be able to control the order of registering the various
    extensions you're using relative to when you're registering
    your app code. Otherwise you're going to end up in circular-
    dependency import hell. Buried in the documentation is a hint
    on how to do this correctly with application factories[0], but
    if you don't know that's there, it's very hard to just stumble
    upon how to correctly organize everything.[0]
    dfox - 3 hours ago
    I ended up with writing my own flask extension that integrates
    some useful flask-* libraries and client-side JS libraries in
    very opinionated way. Somewhat ironically I'm currently in
    process of spliting that into separate flask extensions...
  amenod - 3 hours ago
  I would bet that you would need about the same amount of time
  nomatter what technology you used. The catch is this sentence:>
  I literally just spent about a month hacking on flask-security to
  get the login/email-confirmations/email
  templates/argon2-hashing/2-factor-auth the way I need it.I don't
  know Anvil but I am sure it has a specific way of dealing with
  login/signup/... - just like every other framework. And if you
  want to modify it, well, that takes time. And I am guessing it
  was the same with other tasks.There is nothing wrong with that,
  of course. Just saying. :)
    meredydd - 2 hours ago
    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:
hackerews - 4 hours ago
Is this like R's Shiny for Python?
Mtinie - 10 hours ago
Just a heads up, but this may run into some confusion amongst the
Mac development community with the long existing local web server
tool, Anvil. excited to try the Python-
based Anvil for quickly prototyping interactions to share with my
product and dev teams.Edit: Typo!
submeta - 10 hours ago
Looks very promising! - Does anybody know what technology stack is
being used here? Django + some JS stack for the front end?
  meredydd - 10 hours ago
  Glad to hear it! Some details about the tech stack:* Front-end
  code is compiled from Python to JS with Skulpt
  (* 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.
    osullivj - 9 hours ago
    Interesting. I've been looking for alternatives to React or
    Angular for some time. I've enjoyed playing with Elm recently.
    My preferred back end is Python Tornado RethinkDB, so browser
    GUIs in Python is appealing. I looked at and it looks like the compile to JS
    step happens on the client side, unlike Elm. What's performance
      meredydd - 9 hours ago
      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.)
        metalliqaz - 7 hours ago
        Can you elaborate on this?From the Skulpt website: "Skulpt
        is an entirely in-browser implementation of Python."It
        sounds like you implemented python in JS, so there is no
        compilation to JS.  The application code is always python
        and is evaluated on the client, no?If you move it to the
        back end, would that not be something like Trascrypt?
          meredydd - 7 hours ago
          Check out my talk on the Skulpt compiler from PyCon US
          this summer:
          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 - 10 hours ago
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:
  silassales - 4 hours ago
  Hey!Being a penny pinching student, do you guys offer any
  discounts for students?
    meredydd - 4 hours ago
    Yes, we do - depends on number of licences, country, and
    institution. Drop us a line at
  sametmax - 6 hours ago
  Hi,I'm really not a fan of Python client side. Or RAD. Or closed
  source services.And I'm hugely impressed by the potential of your
  product.Good luck.I never though I would say that one day. But
  don't listen to people asking you to open sourcing it now. You
  can always do it once you are profitable. But right now, you need
  money to get this going. And if your product does what you say it
  does, people will be happy to pay.Although not to be locked up on
  the long run. You will need to address that one day. One day.
    siva7891 - 34 minutes ago
    I run a small software development company. I can understand
    your hesitation about not open sourcing the tool.Don't do it
    until you are comfortable.My only suggestion is if you are
    closing the product for any reason, then open source the core
    as much as possible.
    tluyben2 - 6 hours ago
    > I never though I would say that one day. But don't listen to
    people asking you to open sourcing it nowI want to second that,
  esistgut - 9 hours ago
  Do you have any plan to open source the platform?
    meredydd - 9 hours ago
    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.
      webreac - 1 hours ago
      At my entreprise, they are paying per seat to use gnat
      compiler. Even if it is open source and free to use for non
      commercial use, you can sell it and expect that your
      potential clients will generally not cheat.
      BjoernKW - 3 hours ago
      Perhaps a clear migration path from Anvil-infused Python to
      vanilla Python / JavaScript would be a reasonable approach.
      If for one reason or another I have to move my apps elsewhere
      I'd would like an easy way to do so rather than being
      permanently locked into a specific vendor.
      erikpukinskis - 7 hours ago
      Are you worried about would-be customers self hosting?
      Because I doubt there?s that much overlap between would-be
      monthly customers and those who are eager to self host.Or are
      you worried about clones?
      tim333 - 7 hours ago
      Perhaps you could open source a lite version while keeping
      the premium version paid for?
      ensignavenger - 6 hours ago
      For a counter-example, see RedHat :)  I can certainly
      understand your position, but it isn't impossible to make
      money from Open Source.  One approach to get some funding
      might be a KickStarter or Patreon type offering.  (Or a
      combination of both).  You also have your hosting service.
      Just some ideas, there are lots of open source business
      models- good luck whatever you decide.
  ghrifter - 1 hours ago
  Do you have a list of like full fledged apps that users/companies
  have made?
  chx - 8 hours ago
  Sorry for not digging in more and asking a lazy question but how
  do you do frontend with Python?
    meredydd - 8 hours ago
    We use the Skulpt Python-to-Javascript compiler (I'm a
    maintainer): http://skulpt.orgYou 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:
      chx - 8 hours ago
      Real neat.
  faitswulff - 9 hours ago
  This looks awesome! I am all for automating this stuff. Who do
  you see as your biggest customers?
    meredydd - 9 hours ago
    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
      typon - 5 hours ago
      Can you give examples of live sites running on Anvil?
        meredydd - 1 hours ago
        I can't really talk about most of them, but I described one
        example down here:
jimnotgym - 10 hours ago
I remember someone saying on HN that what the world needed was a
way to make web apps that was as easy as making a Windows form in
Visual Studio. Could this be that app?