Metadata-Version: 1.1
Name: pyspaces
Version: 1.0.5
Summary: Create process in linux namespaces
Home-page: https://github.com/Friz-zy/pyspaces
Author: Filipp Frizzy
Author-email: filipp.s.frizzy@gmail.com
License: MIT
Description: # pyspaces
        Works with Linux namespaces througth glibc with pure python
        
        ## Goals
        
        There is so many beautiful tools like [docker](https://github.com/docker/docker), [rocket](https://github.com/coreos/rkt) and [vagga](https://github.com/tailhook/vagga) written on go and rust, but no one on python.
        I think that is because there is no easy way to works wit linux namespaces on python:
        
        * you can use [asylum](https://pypi.python.org/pypi/asylum/0.4.1) - project that looks like dead and with codebase hosted not on mainstream hub like github
        * or you can use [python-libvirt](https://pypi.python.org/pypi/libvirt-python/1.2.13) bindings with big layer of abstraction
        * or just use native glibc library with ctypes
        * otherwise subprocess.Popen your choice
        
        I want to change it: i want to create native python bindings to glibc with interface of python multiprocessing.Process.
        
        ## Example
        
        First simple example
        ```python
        from pyspaces import Container
        
        
        def execute(argv):
            os.execvp(argv[0], argv)
        
        cmd = "mount -t proc proc /proc; ps ax"
        c = Container(target=execute, args=(('bash', '-c', cmd),
                      uid_map='0 1000 1',
                      newpid=True, newuser=True, newns=True
                      )
        c.start()
        print("PID of child created by clone() is %ld\n" % c.pid)
        c.join()
        print("Child returned: pid %s, status %s" % (c.pid, c.exitcode))
        ```
        ```bash
        PID of child created by clone() is 15978
        
        PID TTY      STAT   TIME COMMAND
        1   pts/19   S+     0:00 bash -c mount -t proc proc /proc; ps ax
        3   pts/19   R+     0:00 ps ax
        
        Child returned: pid 15978, status 0
        ```
Keywords: linux,container,namespaces
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Clustering
Classifier: Topic :: System :: Systems Administration
