Skip to main content

No project description provided

Project description

Jac Client

Build full-stack web applications with Jac - one language for frontend and backend.

Jac Client enables you to write React-like components, manage state, and build interactive UIs all in Jac. No need for separate frontend frameworks, HTTP clients, or complex build configurations.


✨ Features

  • Single Language: Write frontend and backend in Jac
  • No HTTP Client: Use __jacSpawn() instead of fetch/axios
  • Reactive State: Built-in state management with createState()
  • Component-Based: Build reusable UI components with JSX
  • Graph Database: Built-in graph data model eliminates need for SQL/NoSQL
  • Type Safety: Type checking across frontend and backend
  • Vite-Powered: Optimized production bundles with Vite

🚀 Quick Start

Installation

pip install jac-client

Create a New App

jac create_jac_app my-app
cd my-app
jac serve app.jac

Visit http://localhost:8000 to see your app!


📚 Documentation

For detailed guides and tutorials, see the docs folder:


💡 Example

cl {
    let [count, setCount] = createState({"value": 0});

    def Counter() -> any {
        s = count();
        return <div>
            <h1>Count: {s.value}</h1>
            <button onClick={lambda -> None {
                setCount({"value": s.value + 1});
            }}>
                Increment
            </button>
        </div>;
    }

    def jac_app() -> any {
        return Counter();
    }
}

🔧 Requirements

  • Python: 3.12+
  • Node.js: For npm and Vite
  • Jac Language: jaclang (installed automatically)

🛠️ How It Works

Jac Client is a plugin that:

  1. Compiles your .jac client code to JavaScript
  2. Bundles dependencies with Vite for optimal performance
  3. Provides a runtime for reactive state and components
  4. Integrates seamlessly with Jac's backend graph operations

📖 Learn More

  • Full Documentation: See docs/ for comprehensive guides
  • Examples: Check jac_client/examples/ for working examples
  • Issues: Report bugs on GitHub Issues

📄 License

MIT License - see LICENSE file.


Happy coding with Jac! 🎉

Project details


Download files

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

Source Distribution

jac_client-0.1.0.tar.gz (80.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jac_client-0.1.0-py3-none-any.whl (89.7 kB view details)

Uploaded Python 3

File details

Details for the file jac_client-0.1.0.tar.gz.

File metadata

  • Download URL: jac_client-0.1.0.tar.gz
  • Upload date:
  • Size: 80.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.12 Linux/6.11.0-1018-azure

File hashes

Hashes for jac_client-0.1.0.tar.gz
Algorithm Hash digest
SHA256 751b6b233dc88d95be3fe2eeb4b95a42a94a76e96edc0883e06d57b9f3d73954
MD5 8816e33ed6cf6a4a51688e5617e1302c
BLAKE2b-256 538d7c323fac906a20fb6af2acb595a09714d3c5fcc9760cace3137f05bca1d3

See more details on using hashes here.

File details

Details for the file jac_client-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: jac_client-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 89.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.12 Linux/6.11.0-1018-azure

File hashes

Hashes for jac_client-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3c4c482d3ac61c058c4757b430b8b2c04a571af85e02a9c36dbb492528f8ab5a
MD5 6b7d2a5ec004cfcc3384c2e2a4f4bfac
BLAKE2b-256 e92a4ec58277fcec77cf6d169bb66b1ab6a3baa253684504c338265747cbaebd

See more details on using hashes here.

Supported by

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