Dynamic behavior is mostly limited to pagination and filtering on tables, which is just some plain JS with fetch().
Oh, and foreign key/m2m backed fields in forms/filtering is backed by select2 in ajax mode.
We've worked on this since 2014.
Very few dependencies outside testing. I like that. I was surprised flask is one though.
I am thinking about using it for some sections (a management/dashboard bit, and probably the admin) of a site, the rest of which is plain Django. Are there likely to be any problems doing that?
> I am thinking about using it for some sections (a management/dashboard bit, and probably the admin) of a site, the rest of which is plain Django. Are there likely to be any problems doing that?
Incremental adoption and mix-and-match is also a fundamental design goal so that should work fine.
Thanks, going to try it out on my project then, probably today.
> flask shouldn't be a dependency.
Its in the rest requirements: https://github.com/iommirocks/iommi/blob/master/test_require...
> I tried to get iommi to work on flask/sqlalchemy many years ago, but that's somewhat abondoned
I was wondering whether something like that was possible.
Good point. I've removed it. Thanks.
> [iommi for flask possible]
The HTTP parts are super easy, it's the ORM mapping support that is the big issue. When I made an attempt first time SQLAlchemy was in the middle of a huge API change too, which meant the docs were rather bad and incomplete. Maybe it's better now.
Supporting both Django Templates and Jinja2 is a bit annoying too, but doable.
I noticed you are the developer of one of the other dependencies, django-fastdev which fixes a lot of Django annoyances itself. Very nice.
TBH I would probably use iommi with Django even if you supported Flask or similar because the Django ecosystem is huge and I am familiar with it.
We consider any failure to scale up customization a high priority bug.
How do we handle this in practice? Nice defaults, easy to do deep customization with zero boilerplate, AND escape hatches of various forms. So if you need to just render your own template for an entire table row of form input field or whatever, you can do that. Always.
This may be useful for me, but I'm not going to bother setting up a test Django environment to test this just to find out that it isn't what I expected.
In the docs, if you click on the links "forms" or "tables", that will lead to the docs for those parts with a few example, and that in turn links to the cookbooks.
There's also my talk from Django Days: https://www.youtube.com/watch?v=ydRdbA_tXdw&pp=ygUXYW5kZXJzI...
I think what happened was that I landed on your page. Read the landing page, which only contained code. Scrolled to the top and clicked "install in minutes" and was unexpectedly redirected down the page. Then I clicked into github and didn't click on the forms/tables hyperlinks there.
I think what I'm saying is primarily that I'm lazy.
Secondly, your landing page is too code oriented and does not show off any UI and your anchor link (which typically links into documentation) short-circuited my search for a docs page.
I think you would have gotten considerably more upvotes on this post if you show the product off more on the landing page. Despite the obvious lack of effort I put into learning your product, most people who clicked on this link today did even less.
No shade or anything. Again, the product looks nice now that I've seen it in the docs.
Read the doc of https://iommi.rocks/, make a demo project showing of the capability of this tool.
(I have a claude.md with more info, but that's the prompt)
Came back with a fully functional demo with everything installed and working. runserver, and a glance at the code, and I get it.
TL;DR: it's like the django admin, except you can use it in any endpoint in your side. Pretty nice.
I've had mixed success with Claude. It keeps adding too much display_names to everything for example which is annoying.
In theory we could put that up, but I don't particularly want to maintain such a live example app and pay for hosting and all that, only to have it instantly crash under the load of HN :P
But this is much better. Any plan on open sourcing this infra for sphinx or mkdocs?
I've thought about extracting it, but I think it's a lot of work unless you want to support only Django and rST which is what we're using. At least the iframe part is very specific to the web framework.
ranger_danger•6h ago
runep•6h ago
boxed•5h ago
lapcat•2h ago
cluckindan•2h ago
lapcat•2h ago
Iommi is not the name of a band. The band's name is Black Sabbath. Tony Iommi is the name of a person, the guitar player of Black Sabbath.
cluckindan•1h ago
boxed•1h ago
rascul•52m ago
boxed•32m ago
rascul•2m ago
mwbeatty•55m ago
lapcat•51m ago
boxed•2h ago
lapcat•2h ago
What are you saying here? You already admitted publicy that it was about Tony Iommi the guitarist of Black Sabbath and not anyone else with the name.
> it's an homage
Which of course directly contradicts the first clause of your sentence.
boxed•2h ago
lapcat•2h ago
boxed•1h ago
But yea, maybe Python made a legal gamble that just happened to work out. I am not a lawyer :shrug:
ofrzeta•42m ago
lapcat•28m ago
cholantesh•3m ago
pessimizer•1h ago
So that means that the only way that you can absolutely associate the project with Tony Iommi is the post in which the author says that it has nothing to do with Tony Iommi other than he's a guitarist like Django Reinhardt? Seems like the opposite of a slam dunk.
It's also 1) a very obvious and cute joke for people who are familiar with both guitarists, and 2) you don't own your last name - although if you put "Iommi" on a guitar (or a studded leather jacket), you're going to have a problem. But if you call your casserole recipe Iommi's Casserole, only a moron in a hurry is going to be confused.
https://en.wikipedia.org/wiki/A_moron_in_a_hurry
lapcat•58m ago
No, everything on https://iommi.rocks screams Tony Iommi, who was himself famously inspired by Django Reinhardt, because they both suffered severe finger injuries.
"Your first pick"... guitar pick.
"for a Django power chord"... Tony Iommi was famous for using power chords (in part due to his loss of fingers).
The sample code uses "Album" and "Artist".
Even the "rocks" in the domain name is suggestive.
> Seems like the opposite of a slam dunk.
> It's also 1) a very obvious and cute joke for people who are familiar with both guitarists
These consecutive sentences are strangely contradictory. Not a slam dunk, yet very obvious?
> you don't own your last name - although if you put "Iommi" on a guitar (or a studded leather jacket), you're going to have a problem.
As I said in another comment, this is not a trademark issue. It's good that you admit, though, that there are limits to using a person's name on a product. https://news.ycombinator.com/item?id=45758717
> But if you call your casserole recipe Iommi's Casserole, only a moron in a hurry is going to be confused. https://en.wikipedia.org/wiki/A_moron_in_a_hurry
Of course nobody is going to confuse a casserole or a Python package with a guitarist. But that's not the issue. Again, Tony Iommi is a person and not a product. If you market your casserole by giving the impression that Tony Iommi may have invented the recipe for the casserole, or at least knows of and endorses the casserole, that would be problematic.
boxed•30m ago
That's also a pun on "batteries included". We don't have batteries included: we supply a power cord.
I never got around to implementing my idea of randomizing "chord"/"cord" on each page load though :P