GithubHelp home page GithubHelp logo

threefoldtecharchive / jumpscalex_archived Goto Github PK

View Code? Open in Web Editor NEW
1.0 26.0 6.0 13.85 MB

License: Apache License 2.0

Python 53.24% RAML 1.49% HTML 9.81% Cap'n Proto 0.07% Lua 0.24% Makefile 0.01% Shell 0.13% JavaScript 33.18% CSS 1.83% Dockerfile 0.01%

jumpscalex_archived's Introduction

Development:
Build Status Builders Status

Jumpscale

Jumpscale is a cloud automation product and a branch from what used to be Pylabs. About 9 years ago Pylabs was the basis of a cloud automation product which was acquired by SUN Microsystems from Q-Layer. In the mean time we are 4 versions further and we have rebranded it to Jumpscale. Our newest release is version 10, called JSX.

About Jumpscale

Some tools available in jumpscale

  • Config Manager The config manager is a secure way to manage configuration instances. Anything saved to the file system is NACL encrypted and only decrypted on the fly when accessed.

  • Executors Jumpscale comes with its own executors that abstract working locally or remotely. Of these executors:

    • SSH Executor (for remote execution)
    • Local Executor (for local execution)
    • Docker Executor (for executing on dockers)
  • Builders Builder tools is a set of tools to perform the common tasks in your builder (e.g read a file , write to a file, execute bash commands and many other handy methods that you will probably need in your builder)
    To create a builder see [documentation](docs/howto/Create\ a\ new\ Builder.md)

Getting Started

Get up to speed by following these simple steps.

Installing Jumpscale

See documentation

Usage

  • Kosmos in your terminal, type kosmos

  • In Python

    python3 -c 'from Jumpscale import j;print(j.application.getMemoryUsage())'

    the default mem usage < 23 MB and lazy loading of the modules.

Running Tests

To run unittests you can execute the following command

source /sandbox/env.sh; pytest /sandbox/code/github/threefoldtech/jumpscaleX/

You can also run Integration tests by running the command

source /sandbox/env.sh; pytest  --integration /sandbox/code/github/threefoldtech/jumpscaleX/

To annotate the one of your tests is an itegeration test rather than a unittests, you can add the following docorator to the test

@pytest.mark.integration
def test_main(self)

Tutorials

Check Documentation

Collaboration

please read more here about how to collaborate

jumpscalex_archived's People

Contributors

0xislamtaha avatar abom avatar ahmadnazih avatar ahmedhanafy725 avatar ahussein avatar andrewayoub avatar arahmanhamdy avatar bola-nasr avatar bolanasr avatar dependabot[bot] avatar dina-abd-elrahman avatar dinaamagdy avatar dylanverstraete avatar glendc avatar hamdy avatar john-kheir avatar leesmet avatar maxux avatar mdeecode avatar muhamadazmy avatar peternashaat avatar ranatrk avatar rkhamis avatar robvanmieghem avatar serboctor avatar thisisnazih avatar waleedhammam avatar xmonader avatar zaibon avatar zgorizzo69 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jumpscalex_archived's Issues

provide automated integration tests of the tfchain JS client using a private devnet

This should test all features, common scenarios, full usage chains/paths and edge cases. Ideally it can be run and executed by running just a single command, in a clean and isolated environment.

For development purposes it might probably also be nice to be able to select which tests to run, as it might otherwise slow down development (and debugging of an issue) significantly.

clients/gitea

  • don't use python classes for data, use new config manager (uses BCDB behind)
  • this will hugely simplify it

self.__jslocation__ -> class

look for all instances of

self.jslocation =

needs to become like

BEFORE

from Jumpscale import j


class PacketNetFactory(j.application.JSFactoryBaseClass):

    def __init__(self):
        self.__jslocation__ = "j.clients.packetnet"
        self.__imports__ = "packet"
        self.connections = {}
        JSConfigFactory.__init__(self, PacketNet)

    def interactive_test(self):
        from IPython import embed
        embed(colors='Linux')

NEEDS TO BECOME

from Jumpscale import j
from .PacketNet import PacketNet

class PacketNetFactory(j.application.JSFactoryBaseClass):
    __jslocation__ = "j.clients.packetnet"
    _CHILDCLASS = PacketNet


    def __init(self):
        self.connections = {}


  • notice: _init

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.