Package: justpy
JustPyIntroductionJustPy is an object-oriented, component based, high-level Python Web Framework that requires no front-end programming. With a few lines of only Python code, you can create interactive websites without any JavaScript programming. JustPy can also be used to create graphic user interfaces for Python programs.Sunsetting justpyYou are welome to join thehttps://github.com/justpy-org/justpy/discussions/685about the future of justpy.Docs and TutorialsJustPy Docs and TutorialsLive Demosniceguijustpy demosExamplesclickdemo.pydogs.pyblackjack.pyIf you have Questions, Suggestions or would like to get in touchIf you have a question about JustPy you are welcome to checkstackoverflow questions tagged justpyand
Especially questions which involve details of upstream frameworks such asag-grid, Highcharts, Pandas, Plotly, Quasar, Tailwind and others are best ask involving the larger stackoverflow
community and tagging your question with both "justpy" and the tag of
the specific library your are asking a question for such as "ag-grid", "highcharts","quasar", "pandas"
and others.If you'd like to specifically address the JustPy contributors thegithub dicussionsare place to ask questions,
propose new features and generally get in touch with the contributors.Our github dicussions are categorized. Please use the Category "Ideas" for feature requests.Issues and Pull Requests are also welcome. Please make sure that you follow the stackoverflow style guidelines when
posting issues. A good way to do this is to state the problem as a stackoverflow question first. This way a larger audience
is able to discuss solutions and work arounds and find out which part of the technology stack you are using is actually involved
in the issue you'd like to get resolved.If your followed the procedure you are welcome toopen an issuein theJustPy Github repositoryTrying out with dockergitclonehttps://github.com/justpy-org/justpy
scripts/rundocker-h
scripts/rundockertestscripts/rundockerexampleexamples/dogs.py
scripts/rundockerdev
scripts/rundockerexampleexamples/demo_browser.pyIntroduction - with more DetailsJustPy is an object-oriented, component based, high-level Python Web Framework that requires no front-end programming. With a few lines of only Python code, you can create interactive websites without any JavaScript programming. JustPy can also be used to create graphic user interfaces for Python programs.Unlike other web frameworks, JustPy has no front-end/back-end distinction. All programming is done on the back-end allowing a simpler, more productive, and more Pythonic web development experience. JustPy removes the front-end/back-end distinction by intercepting the relevant events on the front-end and sending them to the back-end to be processed.In JustPy, elements on the web page are instances of component classes. A component in JustPy is a Python class that allows you to instantiate reusable custom elements whose functionality and design is encapsulated away from the rest of your code.Custom components can be created using other components as building blocks. Out of the box, JustPy comes with support forHTMLandSVGcomponents as well as more complex components such aschartsandgrids.  It also supports most of the components and the functionality of theQuasarlibrary ofMaterial Design 2.0components.JustPy encourages creating your own components and reusing them in different projects (and, if applicable, sharing these components with others).JustPy supports visualization usingmatplotlibandHighcharts.JustPy integrates nicely withpandasand simplifies building web sites based on pandas analysis. JustPy comes with apandas extensionthat makes it simple to create interactive charts and grids from pandas data structures.For updates and news please follow theJustPy Twitter accountHello World!importjustpyasjpdefhello_world():wp=jp.WebPage()d=jp.Div(text='Hello world!')wp.add(d)returnwpjp.justpy(hello_world)The program above activates a web server that returns a web page with 'Hello world!' for any request. Locally, you would direct your browser tohttp://127.0.0.1:8000orhttp://localhost:8000/or  to see the result.Here is a slightly modified version in which 'Hello world!' changes to 'I was clicked!' when it is clicked.importjustpyasjpdefmy_click(self,msg):self.text='I was clicked!'defhello_world():wp=jp.WebPage()d=jp.Div(text='Hello world!')d.on('click',my_click)wp.add(d)returnwpjp.justpy(hello_world)Many other examples can be found in thetutorialUnder the HoodJustPy's backend is built using:starlette- "a lightweightASGIframework/toolkit, which is ideal for building high performance asyncio services".uvicorn- "a lightning-fastASGIserver, built onuvloopandhttptools".JustPy's frontend (which is transparent to JustPy developers) is built using:Vue.js- "The Progressive JavaScript Framework"The way JustPy removes the frontend/backend distinction is by intercepting the relevant events on the frontend and sending them to the backend to be processed.LicenseApache License, Version 2.0Copyright (c) 2019-2023, Eliezer Mintz and justpy contributors