Skip to main content

GNU Tools for python

Project description



NMesh

ModulesCode DesignCode StructureHow To UseDockerPythonEnvRessources

NMesh is a Python package that provides two high-level features:

  • A simple Mesh processor
  • A list of tool to convert mesh files into point cloud

You can reuse your favorite Python packages such as NumPy, SciPy and Cython to extend ZakuroCache integration.

Modules

At a granular level, NMesh is a library that consists of the following components:

Component Description
nmesh Contains the implementation of NMesh
nmesh.core Contain the functions executed by the library.
nmesh.cp Processor for the point cloud

Code design

  • We recommend using Docker for dev and production. Therefore we encourage its usage all other the repo.
  • We have vanilla and sandbox environment.
    • Vanilla refers to a prebuilt docker image that already contains system dependencies.
    • Sandbox referes a predbuilt docker image that contains the code of this repo.
  • Semantic versioning https://semver.org/ . We commit fix to a.b.x, features to a.x.c and stable release (master) to x.b.c.
  • PR are done to dev and reviewed for additional features. This should only be reviewed by the engineers in the team.
  • PR are done to master for official (internal) release of the codes. This should be reviewed by the maximum number of engineers.
  • The ETL jobs are scatter accross sequential refinement of the data landing/bronze/silver/gold
  • Modules and scripts: Any piece of code that can of use for parent module modules should be moved at a higher level.
    • eg: functional.py contains common funtions for etl.bronze and etl.silver
...
├── etl
│   ├── bronze
│   │   ├── __init__.py
│   │   └── __main__.py
│   ├── functional.py
│   ├── __init__.py
│   └── landing
│       ├── __init__.py
│       └── __main__.py
├── functional.py
├── __init__.py
...
  • Modules should ideally contain a __main__.py that demo an exeution of the module
    • etl/bronze/__main__.py describes an etl job for the creation of the bronze parition
    • trainer/__main__.py describes the training pipeline

Code structure

from setuptools import setup
from nmesh import __version__
setup(
    name='nmesh',
    version=__version__,
    packages=[
        "nmesh",
        "nmesh.core",
        "nmesh.cp"
    ],
    url='https://github.com/JeanMaximilienCadic/nmesh',
    include_package_data=True,
    package_data={"": ["*.yml"]},
    long_description="".join(open("README.md", "r").readlines()),
    long_description_content_type='text/markdown',
    license='MIT',
    author='Jean Maximilien Cadic',
    python_requires='>=3.6',
    install_requires=[r.rsplit()[0] for r in open("requirements.txt")],
    author_email='support@cadic.jp',
    description='GNU Tools for python',
    classifiers=[
        "Programming Language :: Python :: 3.6",
        "License :: OSI Approved :: MIT License",
    ]
)

How to use

To clone and run this application, you'll need Git and https://docs.docker.com/docker-for-mac/install/ and Python installed on your computer. From your command line:

Install the package:

# Clone this repository and install the code
git clone https://github.com/JeanMaximilienCadic/nmesh

# Go into the repository
cd nmesh

Makefile

Exhaustive list of make commands:

install_wheels
sandbox_cpu
sandbox_gpu
build_sandbox
push_environment
push_container_sandbox
push_container_vanilla
pull_container_vanilla
pull_container_sandbox
build_vanilla
clean
build_wheels
auto_branch 

Docker

(* recommended)

To build and run the docker image

make build
make docker_run_sandbox_cpu

PythonEnv

(* not recommended)

make install_wheels

Ressources

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

nmesh-0.0.7-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file nmesh-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: nmesh-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 15.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for nmesh-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 05ed1ed120c5932c0072131db24cd145026afad72b2914cc451d8077a3bcb95c
MD5 114478fa6310f04268093ed1929eeca6
BLAKE2b-256 da563261494e56e92700435943d335be3587e236e90f80ab7628843f45144eee

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