GNU Tools for python
Project description
NMesh
Modules • Code Design • Code Structure • How To Use • Docker • PythonEnv • Ressources •
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
andsandbox
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 toa.x.c
and stable release (master) tox.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 foretl.bronze
andetl.silver
- eg:
...
├── 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 moduleetl/bronze/__main__.py
describes an etl job for the creation of the bronze paritiontrainer/__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
- Vanilla: https://en.wikipedia.org/wiki/Vanilla_software
- Sandbox: https://en.wikipedia.org/wiki/Sandbox_(software_development)
- All you need is docker: https://www.theregister.com/2014/05/23/google_containerization_two_billion/
- Dev in containers : https://code.visualstudio.com/docs/remote/containers
- Delta lake partitions: https://k21academy.com/microsoft-azure/data-engineer/delta-lake/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file nmesh-0.0.8-py3-none-any.whl
.
File metadata
- Download URL: nmesh-0.0.8-py3-none-any.whl
- Upload date:
- Size: 15.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c3fc58d4fed8cf700f1cc5d598f86dfe47eea2b0d5c30b3da50f229f137fc90 |
|
MD5 | 13f92b0657ec591a28b7e3a106cfa0a0 |
|
BLAKE2b-256 | 534ff1d6eb2a9850bde7ca175ba473c09fff63f7628d2497f7e1c88e67b34447 |