Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • Apr 05 23:03
    ooduor opened #237
  • Apr 05 23:03

    ooduor on ooduor-time_zone-patch

    Websauna Typo in Timezone Vari… (compare)

  • Jan 13 13:40
    codecov-io commented #236
  • Jan 13 13:40
    codecov-io commented #236
  • Jan 13 13:37
    codecov-io commented #236
  • Jan 13 13:30
    RalucaFe opened #236
  • Sep 04 2019 16:55
    blaisep commented #234
  • Sep 04 2019 16:49
    blaisep commented #234
  • Aug 27 2019 17:27
    ooduor opened #235
  • Aug 27 2019 17:26

    ooduor on ooduor-with-meta-description

    Add Missing site_description to… (compare)

  • Aug 26 2019 18:22
    clickio opened #234
  • Aug 02 2019 14:10
    VirtUalProtoss opened #233
  • Jul 02 2019 22:45
    slav0nic commented #210
  • Jul 02 2019 09:34
    slav0nic commented #232
  • Jul 01 2019 11:16
    slav0nic opened #232
  • Jun 30 2019 11:52
    slav0nic commented on fe24a9d
  • Jun 27 2019 11:22
    codecov-io commented #231
  • Jun 27 2019 11:19
    codecov-io commented #231
  • Jun 27 2019 11:13
    codecov-io commented #231
  • Jun 27 2019 11:13
    slav0nic synchronize #231
Marwan Rabbâa
sorry 3 lines
FROM python:alpine
RUN apk add build-base libffi-dev postgresql-dev libxml2-dev libxslt-dev
RUN pip install websauna
Mikko Ohtamaa
Guys. As you know I have no longer time to contribute Websauna. However I have been exploring the option to replace Colander + Deform with Colander + jsonschema based forms + Material UI
Mikko Ohtamaa
Colander schema would be transformed to jsonschema and Material UI form can be rendered from it automatically
Érico Andrei
Mikko Ohtamaa
You can do the same for Bootstrap forms, but looks like Material has better widgets
You would only need to drop a line of JS on the front end and you get access to all these well maintained widget goodies sponsored by Google
I can drop few hundred bucks of my own money as a bounty if we find a developer
Érico Andrei
Mikko Ohtamaa
consider this as a hobby
Érico Andrei
This was something I considered doing in the past, but refactoring deform
instead of replacing it
Mikko Ohtamaa
Colander is good part
Deform is not
Also Material UI supports nested widgets
Érico Andrei
React Json Schema Form does it. The Material UI is a layer on top of it :-)
Sergey Maranchuk
react-jsonschema-form bootstrap based by default, i hate deform too, but material ui looks very specific (also only 19 stars on gitrepo, so can die at any time B])
kris kvilekval
This may sound terrible, but I haven't seen any recent checkins.. is the project no longer maintained, or has it forked somewhere?
Sergey Maranchuk
@kkvilekval_gitlab you can ask @miohtama about project status, looks like main contributor position is still vacant
i don't think that forking make sense, pyramid community is not big
Mikko Ohtamaa
@kkvilekval_gitlab Yo
@slav0nic true
Hi all, have a websauna app in production that just runs and runs but soon will need to add some api to it. I’m moving things to Docker and it would be great to use this:
when I try to run the docker-compose up I get this stacktrace:
app      | Traceback (most recent call last):
app      |   File "/usr/local/bin/ws-alembic", line 8, in <module>
app      |     sys.exit(main())
app      |   File "/usr/local/lib/python3.5/site-packages/websauna/system/devop/scripts/alembic.py", line 23, in main
app      |     load_entry_point('alembic', 'console_scripts', 'alembic')()
app      |   File "/usr/local/lib/python3.5/site-packages/alembic/config.py", line 577, in main
app      |     CommandLine(prog=prog).main(argv=argv)
app      |   File "/usr/local/lib/python3.5/site-packages/alembic/config.py", line 571, in main
app      |     self.run_cmd(cfg, options)
app      |   File "/usr/local/lib/python3.5/site-packages/alembic/config.py", line 551, in run_cmd
app      |     **dict((k, getattr(options, k, None)) for k in kwarg)
app      |   File "/usr/local/lib/python3.5/site-packages/alembic/command.py", line 159, in revision
app      |     script_directory = ScriptDirectory.from_config(config)
app      |   File "/usr/local/lib/python3.5/site-packages/alembic/script/base.py", line 126, in from_config
app      |     script_location = config.get_main_option("script_location")
app      |   File "/usr/local/lib/python3.5/site-packages/alembic/config.py", line 293, in get_main_option
app      |     return self.get_section_option(self.config_ini_section, name, default)
app      |   File "/usr/local/lib/python3.5/site-packages/alembic/config.py", line 275, in get_section_option
app      |     if not self.file_config.has_section(section):
app      |   File "/usr/local/lib/python3.5/site-packages/alembic/util/langhelpers.py", line 230, in __get__
app      |     obj.__dict__[self.__name__] = result = self.fget(obj)
app      |   File "/usr/local/lib/python3.5/site-packages/alembic/config.py", line 200, in file_config
app      |     file_config.read([self.config_file_name])
app      |   File "/usr/local/lib/python3.5/configparser.py", line 696, in read
app      |     self._read(fp, filename)
app      |   File "/usr/local/lib/python3.5/site-packages/websauna/utils/config/includer.py", line 56, in _read
app      |     self.process_includes(fpname)
app      |   File "/usr/local/lib/python3.5/site-packages/websauna/utils/config/includer.py", line 125, in process_includes
app      |     self.read_include(include, fpname)
app      |   File "/usr/local/lib/python3.5/site-packages/websauna/utils/config/includer.py", line 95, in read_include
app      |     fp = self.resolve(include_file, fpname)
app      |   File "/usr/local/lib/python3.5/site-packages/websauna/utils/config/includer.py", line 81, in resolve
app      |     if not _resource_manager.resource_exists(req, path):
app      |   File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 1135, in resource_exists
app      |     return get_provider(package_or_requirement).has_resource(resource_name)
app      |   File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 358, in get_provider
app      |     return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
app      |   File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 901, in require
app      |     needed = self.resolve(parse_requirements(requirements))
app      |   File "/usr/local/lib/python3.5/site-packages/pkg_resources/__init__.py", line 787, in resolve
app      |     raise DistributionNotFound(req, requirers)
app      | pkg_resources.DistributionNotFound: The 'application' distribution was not found and is required by the application
pkg_resources.DistributionNotFound: The 'application' distribution was not found and is required by the application
it would mean a huge deal to get past this error. Did anybody ever get this working?
if not, does anybody know of a functioning websauna docker config?
Sergey Maranchuk
@mazz here is no official docker image ¯_(ツ)_/¯ , only some issues like websauna/websauna.ansible#17 websauna/websauna#234
Mikko Ohtamaa
Hey @slav0nic
and @mazz
might be end up rewriting websauna in TypeScript and NestJS
only half joking
I got a new job, but the company is all about Node.js and TypeScript
Sergey Maranchuk
=) heh, i personally preferred pyramid on back + vue with es6 on front
Mikko Ohtamaa
but not my choice
nestjs and typeorm are ok - like django or flask/sqlalchemy 10 years ago
plus I can see JavaScript is eating over all web development
Python is fighting a losing battle
Sergey Maranchuk
yep, it more simple for frontend-devs build js backend too + some concept with firebase (or pyramid based kinto etc) is like backend-less, i personally now also preferred vue components + API instead of (jinja2 + spaghetti in widgets), but some time SPA+ REST is pain B)
Antony Oduor
Been playing around with Websauna + Elm for an SPA.
Mikko Ohtamaa
@slav0nic Yes. For anything that does not need to be SEO optmised, like form input, anything that is directly rendered in the client is better
Even for static pages, rendering server-side React, Vue, is nice
Eventually, I hope React/Vue/Angular become server-side template languages as well
less things to learn and manage