{"id":21952109,"url":"https://github.com/nuccitheboss/jespipe","last_synced_at":"2025-08-25T03:47:40.420Z","repository":{"id":83456385,"uuid":"375022414","full_name":"NucciTheBoss/jespipe","owner":"NucciTheBoss","description":"Jespipe: A Plugin-Based, Open MPI Framework for Adversarial Machine Learning Analysis.","archived":false,"fork":false,"pushed_at":"2021-11-22T19:14:33.000Z","size":1610,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-19T21:00:00.454Z","etag":null,"topics":["adversarial-learning","command-line-tool","deep-learning","hpc-applications","machine-learning","mpi4py","openmpi","plugins","python","xml"],"latest_commit_sha":null,"homepage":"https://par.nsf.gov/biblio/10315943-jespipe-plugin-based-open-mpi-framework-adversarial-machine-learning-analysis","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NucciTheBoss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-06-08T13:38:49.000Z","updated_at":"2023-01-06T02:22:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"bca252b0-ede0-4452-bd6e-016d06cb8f1c","html_url":"https://github.com/NucciTheBoss/jespipe","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/NucciTheBoss/jespipe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NucciTheBoss%2Fjespipe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NucciTheBoss%2Fjespipe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NucciTheBoss%2Fjespipe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NucciTheBoss%2Fjespipe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NucciTheBoss","download_url":"https://codeload.github.com/NucciTheBoss/jespipe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NucciTheBoss%2Fjespipe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272004302,"owners_count":24856937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-25T02:00:12.092Z","response_time":1107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adversarial-learning","command-line-tool","deep-learning","hpc-applications","machine-learning","mpi4py","openmpi","plugins","python","xml"],"created_at":"2024-11-29T06:20:05.799Z","updated_at":"2025-08-25T03:47:40.377Z","avatar_url":"https://github.com/NucciTheBoss.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./assets/jespipe-logo.png\" width=400\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003eJespipe\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n    An easy-to-use system for conducting adversarial machine learning analysis using OpenMPI, XML control files, and user-written plugins.\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/NucciTheBoss/jespipe/wiki\"\u003e\u003cstrong\u003eExplore Jespipe Docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\u003cbr /\u003e\n    \u003ca href=\"https://github.com/NucciTheBoss/jespipe/issues/new?assignees=NucciTheBoss\u0026labels=bug\u0026template=bug-report.md\u0026title=BUG%3A+Error+encountered+during+Jespipe+runtime\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/NucciTheBoss/jespipe/issues/new?assignees=NucciTheBoss\u0026labels=enhancement%2C+question\u0026template=feature-request.md\u0026title=FEATURE+REQUEST%3A+Potential+improvement+to+Jespipe\"\u003eRequest Feature\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/NucciTheBoss/jespipe/discussions\"\u003eDiscussions\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/NucciTheBoss/jespipe/releases\"\u003eReleases\u003c/a\u003e\n\u003c/p\u003e\n\n## Jespipe v0 - Experimental\n\nWelcome to the Jespipe repository! Our default branch is for the development of the Jespipe v0 Experimental release. If you are interested in helping us publish a professional, robust release of Jespipe, please check out our [contributing guidelines](https://github.com/NucciTheBoss/jespipe/blob/main/CONTRIBUTING.md)!\n\n## Table of Contents\n\n* [Quick Start](#quick-start)\n* [What's Included](#whats-included)\n* [Documentation](#documentation)\n* [Bugs and Feature Requests](#bugs-and-feature-requests)\n* [Contributing](#contributing)\n* [Versioning](#versioning)\n* [Creators](#creators)\n* [Copyright and License](#copyright-and-license)\n* [Citation](#citation)\n\n## Quick Start\n* [System Requirements](#system-requirements)\n* [Install Dependencies](#install-dependencies)\n* [Install OpenMPI](#install-openmpi)\n* [Install Jespipe](#install-jespipe)\n* [Where to go from here?](#where-to-go-from-here)\n\n### System Requirements\n\nThe recommended runtime environment for Jespipe is on High-Performance Computing clusters, but your system only has to meet the following minimum requirements in order to run Jespipe:\n\n| Category | Minimum Requirement |\n| :--- | :---: |\n| **Operating System:** | CentOS 7 or newer, Debian 10 or newer, OpenSUSE 15.3 or newer, RedHat Enterprise Linux 7 or newer, Ubuntu 18.04 or newer |\n| **Number of Processor Cores:** | Bare minimum: 2 cores - 4 threads; Recommended: 8 cores - 16 threads |\n| **RAM:** | Bare minimum: 4GB; Recommended: 16GB |\n| **GPU:** | *Not required but recommended for larger-scale models and computationally instensive attacks.* |\n| **GCC Version:** | GCC version 8.3.1 or greater |\n| **Python Version:** | 3.5+, 3.8+, 3.9.5, or 3.9.6 |\n\n**It is strongly recommended** that you use Jespipe on a High-Performance Computing cluster because while Jespipe's system resource consumption is minimal, under-powered machines will be quickly overwhelmed by large-scale adversarial analyses.\n\n### Install Dependencies\n\nUse the following commands to install Jespipe's system-level dependencies according to your operating system.\n\n#### CentOS / RedHat Enterprise Linux:\n\n```bash\nsudo yum update\nsudo yum groupinstall \"Development Tools\" \"Development Libraries\"\nwget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tar.xz -O - | tar -xJv\ncd Python-3.9.6\n./configure --enable-shared --enable-optimizations\nmake \u0026\u0026 sudo make install\n```\n\n#### OpenSUSE:\n\n```bash\nsudo zypper update\nsudo zypper install -t pattern devel_basis\nsudo zypper install python39-base python39-devel python39-pip\n```\n\n#### Ubuntu / Debian:\n\n```bash\nsudo apt-get update\nsudo apt-get install build-essential python3.9-full python3.9-dev python3-pip\n```\n\n### Install OpenMPI\n\nUse the following commands to install OpenMPI according to your operating system.\n\n#### CentOS / RedHat Enterprise Linux:\n\n```bash\nsudo yum install openmpi openmpi-devel\n```\n\n#### OpenSUSE:\n\n```bash\nsudo zypper install openmpi4 openmpi4-libs openmpi4-devel openmpi4-config openmpi4-docs\n```\n\n#### Ubuntu / Debian:\n\n```bash\nsudo apt-get install openmpi-bin openmpi-common openmpi-doc\n```\n\n### Install Jespipe\n\nWith the system-level dependencies and OpenMPI installed on your system, use the following commands to set Jespipe up on your system.\n\n#### Install from release (for production):\n\nTo install Jespipe from a release, first download a [release](https://github.com/NucciTheBoss/jespipe/releases) and then use the following commands:\n\n```bash\ntar -xzvf jespipe-\u003crelease-number\u003e.tar.gz\ncd jespipe-\u003crelease-number\u003e\npip install -r requirements.txt\npython setup.py install\n```\n\n#### Install from source (for development):\n\nTo install Jespipe from source, use the following commands:\n\n```bash\ngit clone https://github.com/NucciTheBoss/jespipe.git\ncd jespipe\npip install -r requirements.txt\npython setup.py install\n```\n\n#### Test Installation:\n\nIf all went well, you should be able to print out Jespipe's version info without issue:\n\n```\n$ python main.py --version\n\n       _                 _                     ___   ___  __ \n      | |               (_)                   / _ \\ / _ \\/_ |\n      | | ___  ___ _ __  _ _ __   ___  __   _| | | | | | || |\n  _   | |/ _ \\/ __| '_ \\| | '_ \\ / _ \\ \\ \\ / / | | | | | || |\n | |__| |  __/\\__ \\ |_) | | |_) |  __/  \\ V /| |_| | |_| || |\n  \\____/ \\___||___/ .__/|_| .__/ \\___|   \\_/  \\___(_)___(_)_|\n                  | |     | |                                \n                  |_|     |_|                                \n \n\nJespipe-v0.0.1  Copyright (C) 2021  Jason C. Nucciarone, Eric Inae, Sheila Alemany\n\nThis program comes with ABSOLUTELY NO WARRANTY; for details please see the LICENSE file. \nThis is free software, and you are welcome to redistribute it\nunder certain conditions; please visit https://github.com/NucciTheBoss/jespipe for more details.\n```\n\n### Where to go from here?\n\n* **If this is your first time using Jespipe** for conducting adversarial machine learning analysis, please check out our [Introduction to Jespipe](https://github.com/NucciTheBoss/jespipe/wiki/Introduction-to-Jespipe) tutorial! \n\n* **If you are familiar with Jespipe, but like to learn all that Jespipe is capable of**, please look through our [documentation](https://github.com/NucciTheBoss/jespipe/wiki).\n\n* **If you are an old pro with Jespipe**, have fun!\n\n## What's Included\n\n```\njespipe\n├── CODE_OF_CONDUCT.md\n├── CONTRIBUTING.md\n├── LICENSE\n├── LICENSE_DOCS\n├── README.md\n├── .config.json\n├── main.py\n├── requirements.txt\n├── setup.py\n├── assets\n├── contrib\n│   ├── build-tools\n│   ├── diagrams\n│   │   └── drawio\n│   └── pseudocode\n├── etc\n│   ├── skel\n│   │   ├── control-templates\n│   │   └── plugin-templates\n│   │       ├── attack\n│   │       ├── manip\n│   │       ├── model\n│   │       └── plot\n│   └── ursula\n├── examples\n│   ├── control-files\n│   ├── datasets\n│   │   ├── google-stock\n│   │   ├── google-stock-xgb\n│   │   └── ozone-level-detection\n│   └── plugins\n│       ├── attacks\n│       ├── manips\n│       ├── models\n│       │   └── RNN\n│       └── plots\n├── jespipe\n│   └── plugin\n│       ├── attack\n│       ├── clean\n│       ├── manip\n│       └── train\n└── utils\n    ├── appinfo\n    ├── filesystem\n    ├── managerops\n    ├── workeradmin\n    └── workerops\n```\n\nThere are about 80+ files distributed with a release of Jespipe so it would not be practical to go through all of them, but here is a list of the most important files and directories:\n\n#### Files\n\n* `README.md` - A copy of this README.\n\n* `LICENSE` - A copy of the GNU General Public License version 3.\n\n* `.config.json` - Default configuration file for Jespipe.\n\n* `main.py` - **The Jespipe application.**\n\n* `requirements.txt` - File to install all of Jespipe's external dependencies.\n\n* `setup.py` - File to install *jespipe-plugin* module.\n\n#### Directories\n\n* `assets` - Pictures and text files used by Jespipe.\n\n* `contrib` - Files to help with the development of Jespipe.\n\n* `etc` - Extra configuration files and skeleton files for Jespipe.\n\n* `examples` - Examples for Jespipe.\n\n* `jespipe` - The *jespipe-plugin* module needed for plugins.\n\n* `utils` - Helper functions used by Jespipe.\n\n## Documentation\n\nJespipe's documentation is currently hosted using GitHub's Wiki pages [here](https://github.com/NucciTheBoss/jespipe/wiki). If you interested in adding to the documentation such as add on to the Wikipages or adding more forms of documentation (manpages, readthedocs, Sphinx, etc.), please check out our [contributing guidelines](https://github.com/NucciTheBoss/jespipe/blob/main/CONTRIBUTING.md)!\n\n## Bugs and Feature Requests\n\nHave a bug or feature request that you want to submit? Please read through Jespipe's [issue guidelines](https://github.com/NucciTheBoss/jespipe/blob/main/CONTRIBUTING.md#using-the-issue-tracker) first and search for existing and closed issues. If your issue or idea has not been addressed yet, feel free to [open a new issue](https://github.com/NucciTheBoss/jespipe/issues/new).\n\nThe Jespipe developers have provided the following issue templates for submitting a bug report and/or feature request:\n\n* [Submit a Bug Report](https://github.com/NucciTheBoss/jespipe/issues/new?assignees=NucciTheBoss\u0026labels=bug\u0026template=bug-report.md\u0026title=BUG%3A+Error+encountered+during+Jespipe+runtime)\n* [Submit a Feature Request](https://github.com/NucciTheBoss/jespipe/issues/new?assignees=NucciTheBoss\u0026labels=enhancement%2C+question\u0026template=feature-request.md\u0026title=FEATURE+REQUEST%3A+Potential+improvement+to+Jespipe)\n\n## Contributing\n\nPlease read through our [contributing guidelines](https://github.com/NucciTheBoss/jespipe/blob/main/CONTRIBUTING.md). Included are directions for opening issues, coding standards, and how to submit contributions to Jespipe.\n\nAll Python code should follow the standards outlined in [PEP 8](https://pep8.org/), [PEP 257](https://www.python.org/dev/peps/pep-0257/), and [PEP 484](https://www.python.org/dev/peps/pep-0484/). All function and class docstrings should follow the [reStructuredText Markup Specification](https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html).\n\n## Versioning\n\nFor transparency into Jespipe's release cycle and in an attempt to support older High-Performance Computing clusters, Jespipe is maintain under the [the Semantic Versioning guidelines](https://semver.org/). Jespipe's developers may sometimes make mistakes, but we will adhere to these rules as best we can.\n\nSee the [releases section of Jespipe's repository](https://github.com/NucciTheBoss/jespipe/releases) for changelogs for each release version of Jespipe. Sometimes they might not be pretty, but the Jespipe developer's will do their darnest to summarize the most noteworthy changes in each release.\n\n## Creators\n\n* Jason C. Nucciarone - Pennsylvania State University - Lead Author\n  * [LinkedIn](https://www.linkedin.com/in/jasonnucci/)\n\n* Eric Inae - Andrews University - Attack Plugin Contributor\n  * [LinkedIn](https://www.linkedin.com/in/eric-inae-6056b1214)\n\n* Sheila Alemany - Florida International University - Data Manipulation and Model Training Plugin Contributor\n  * [Sheila's Personal Site](https://sheilaalemany.github.io/)\n  * [LinkedIn](https://www.linkedin.com/in/sheilaalemany)\n\n## Copyright and License\n\nCode and documentation copyright \u0026copy; 2021 Jason C. Nucciarone, Eric Inae, and Sheila Alemany. Code released under the [GNU General Public License version 3](https://www.gnu.org/licenses/gpl-3.0.en.html). Documentation is released under the [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause).\n\n## Citation\n\n**If you use Jespipe for your research,** please include the following citation in your paper:\n\n```\n@inproceedings{\n  title={Jespipe: A Plugin-Based, Open MPI Framework for Adversarial Machine Learning Analysis},\n  author{Alemany, Sheila and Nucciarone, Jason and Pissinou, Niki},\n  booktitle={2021 IEEE International Conference on Big Data (Big Data)},\n  year={2021},\n  organization={IEEE}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuccitheboss%2Fjespipe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnuccitheboss%2Fjespipe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuccitheboss%2Fjespipe/lists"}