Python library for using and creating Philote analysis servers.
Documentation can be found at:
https://MDO-Standards.github.io/Philote-Python
The development process requires the following tools to be installed (they will be installed if not present):
- grpcio-tools
- protoletariat
- importlib.resources
Additionally, the following dependencies are required by Philote MDO and will be installed automatically during the installation process:
- numpy
- scipy
- grpcio
To run the unit and integration tests, you will need:
- openmdao (can be found here or installed via pip)
The easiest way for users to install this library is via pip using the PyPI package:
pip install philote-mdo
If you need or want to install the package from the repository, you can doe this using pip:
pip install <path/to/Philote-Python>
or
pip install -e <path/to/Philote-Python>
for an editable install. Note, that <path/to/Philote-Python> is the path to the repository root directory (the one containing pyproject.toml). Often, people install packages when located in that directory, making the corresponding command:
pip install .
Unlike earlier version, the package is distributed with generated gRPC python files. This means that you do not need to have grpciotools or protoc installed when using Philote-Python. If you are doing development work, specifically when you are adding new gRPC features, you will need to regenerate the gRPC files. To do this, run the following command from the repository root directory:
python utils/compile_proto.py
This package is licensed under the Apache 2 license:
Copyright 2022-2025 Christopher A. Lupp
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
This work has been cleared for public release, distribution unlimited, case number: AFRL-2023-5713.
The views expressed are those of the authors and do not reflect the official guidance or position of the United States Government, the Department of Defense or of the United States Air Force.
Statement from DoD: The Appearance of external hyperlinks does not constitute endorsement by the United States Department of Defense (DoD) of the linked websites, of the information, products, or services contained therein. The DoD does not exercise any editorial, security, or other control over the information you may find at these locations.