Skip to main content

FullPy is a Python module for developing client-server web application. Here are the main features:

  • Both client and server are written in Python, and can share pieces of code. FullPy uses Brython for client-side execution of Python in the web browser.

  • Semantic-aware data persistance using OWL ontologies instead of a database. FullPy uses Owlready2 for managing ontologies and automatically storing them in a SQLite3 database.

  • Remote function calls between client and server, with object serialization. FullPy can use both Ajax (single way client->server calls) or WebSockets (client->server and server->client calls)

  • FullPy also provides many high-level services, such as authentication, translation support, HTML widget system, etc.

  • FullPy can run over multiple backend: Flask, Werkzeug and Gunicorn (only Gunicorn is supported for WebSockets).

Short example

Here is an example of FullPy web application:

# Server

import sys, os, os.path
from fullpy.server import *

class MyWebApp(ServerSideWebapp):
  def __init__(self):
    ServerSideWebapp.__init__(self)
    self.name          = "demo"
    self.url           = "/index.html"
    self.title         = "FullPy demo"
    self.static_folder = os.path.join(os.path.dirname(__file__), "static")

    self.use_python_client(os.path.join(os.path.dirname(__file__), "client.py"))
    self.use_ajax(debug = True)

  @rpc # Mark the function as remotely callable by the client (RPC = remote procedure call)
  def server_hello(self, session):
    return "Hello world!"

from fullpy.server.gunicorn_backend import *
serve_forever([MyWebApp()], "http://127.0.0.1:5000")
# Client

from fullpy.client import *

class MyWebApp(ClientSideWebapp):
  def on_started(self):
    def done(response):
      html = HTML("""FullPy Demo loaded Ok! Server says: '%s'.""" % response)
      html.show()
    webapp.server_hello(done) # Call the server_hello() remote function on the server

MyWebApp()

Changelog

version 1 - 0.1

  • Initial release

version 1 - 0.2

  • Second release

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fullpy-0.2.tar.gz (4.3 MB view details)

Uploaded Source

File details

Details for the file fullpy-0.2.tar.gz.

File metadata

  • Download URL: fullpy-0.2.tar.gz
  • Upload date:
  • Size: 4.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.1.dev0+g94f810c.d20240510 CPython/3.12.6

File hashes

Hashes for fullpy-0.2.tar.gz
Algorithm Hash digest
SHA256 e3b87e39fbd9f6b997b9a715e488924889fda98ef9f6bf4e66f63dda9db1aa75
MD5 162c20244b8d75399801941699f0f4af
BLAKE2b-256 40a03b7f3e7b03a846bfd2855ce8fcb132ea553f8e4f25096e21e87ad9ddfac7

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2 This release

1 file

0.1

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page