Skip to main content

Pythonic Vue.js

Project description

pyvuejs



Install

using pip

pip install pyvuejs

from git

git clone https://github.com/eseunghwan/pyvuejs.git
cd pyvuejs
python setup.py install


Usage

create project with cli

python -m pyvuejs init

[output]
//=========== pyvuejs project init ===========//
AppName: 

move to project directory and start with cli

  • default host = "0.0.0.0", port = 8000
python -m pyvuejs start

[output]
//=========== start pyvuejs app ===========//
Running on http://0.0.0.0:8000 (CTRL + C to quit)
[2020-07-17 18:46:40,927] Running on 0.0.0.0:8000 over http (CTRL + C to quit)

start command line options

  • host only
python -m pyvuejs start 127.0.0.1
  • port only
python -m pyvuejs start 9000
  • both host and port
python -m pyvuejs start 127.0.0.1 9000


PVUE editing guide

pvue file is a single view file against with vue file

prefix(optional, default = "view")

  • prefix defines pvue is view or component
<!-- if pvue is view -->
!prefix view
<!-- if pvue is component -->
!prefix component
<!-- if blank, consider as view -->

template(required)

  • template block is shown part of pvue
  • code style is very same as Vue.js
<template>
    <div id="app1">
        <!-- elements -->
        <p>{{ testVar }}</p>
        <button>[buttonText]</button>

        <!-- if show components -->
        <component name="[componentName]">
    </div>
</template>

model(required)

  • model block is server-side part of pvue
  • code style is python, it's sensitive to tabs
<model>
Model app1:
    # variables
    testVar = 10

    # compute methods
    @method
    # to use session, add "session" argument to function
    def sub_testVar(self, session):
        self.testVar -= 1
</model>
  • connect to vue properties
    • currently, computed and method are enable
    • add decorator on top of function
    @method
    def get_sample(self):
        self.sample = "It's sample!"
    

style(optional)

  • style block is style part of template block
<style>
div#app1 {
    /* styles */
}
</style>

script(optional)

  • script block runs in page
  • custom events, attributes can be set in script block
<script>
    /* scripts */
</script>


Todo

  • enable componenting(V 0.2.0)
    • component properties
  • multi locational data binding(V 0.2.0)
  • dataSession (V 0.2.0)
  • add vue properties
    • method (V 0.1.0)
    • computed (V 0.2.0)


License

pyvuejs is MIT license



Release History

  • V 0.1.0 [2020/07/17]
    • initial commit

  • V 0.2.0 [2020/07/18]

    • enable componenting
    • multi locational data binding
    • add computed binding
    • dataSession
  • V 0.2.1 [2020/07/19]

    • change decoration as "@method", "@compute"
    • multi locational strategy changed to IP from idGeneration
  • V 0.2.2 [2020/07/19]

    • bug fixes
    • parsing errors if model block is empy
  • V 0.2.2.Rev1

    • bug fixes
    • show default favicon correctly
  • V 0.2.2.Rev2

    • remove "Variable" model
    • change component's default size to 100% of parent

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

pyvuejs-0.2.2.post2.tar.gz (144.6 kB view details)

Uploaded Source

Built Distribution

pyvuejs-0.2.2.post2-py3-none-any.whl (143.2 kB view details)

Uploaded Python 3

File details

Details for the file pyvuejs-0.2.2.post2.tar.gz.

File metadata

  • Download URL: pyvuejs-0.2.2.post2.tar.gz
  • Upload date:
  • Size: 144.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.7

File hashes

Hashes for pyvuejs-0.2.2.post2.tar.gz
Algorithm Hash digest
SHA256 1d66256425133b53131c4d83d9bebf69eda4370020837f441b2cf233520165fd
MD5 8e2ab308ab058cca37abf7d88d92170e
BLAKE2b-256 78f0d7317b35a1ec09f1ac3b2a7072db15cba3e9822e674859f12cf6a794afb6

See more details on using hashes here.

File details

Details for the file pyvuejs-0.2.2.post2-py3-none-any.whl.

File metadata

  • Download URL: pyvuejs-0.2.2.post2-py3-none-any.whl
  • Upload date:
  • Size: 143.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.7

File hashes

Hashes for pyvuejs-0.2.2.post2-py3-none-any.whl
Algorithm Hash digest
SHA256 312184143b46f954aebd1af66f39206bece843b497348d46bd40d95d5a833cf7
MD5 a50ca8658bd672cae34936b8ec4705cb
BLAKE2b-256 8bc4bd1c14d1bfa72bfad8851b285d20680a13c5c77439f12a9bd15859e57cf3

See more details on using hashes here.

Supported by

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