Coder Social home page Coder Social logo

ibm / simulai Goto Github PK

View Code? Open in Web Editor NEW
150.0 14.0 23.0 37.56 MB

A toolkit with data-driven pipelines for physics-informed machine learning.

Home Page: https://ibm.github.io/simulai/

License: Apache License 2.0

Makefile 0.19% Python 99.29% Jupyter Notebook 0.51% CSS 0.01%
machine-learning neural-networks physics-informed-neural-networks simulation

simulai's Introduction

SimulAI

Documentation Status

assets/logo_1.png

An extensible Python package with data-driven pipelines for physics-informed machine learning.

Call for contributions: If you have developed and/or published new architectures using PyTorch and intend to make them opensource, consider include them as part of SimulAI, which works as an unified repository for scientific machine learning models, continuously tested and maintained. SimulAI was already packaged under a friendly license (Apache) and it can be used to more easily share state of the art models whithin the scientific community.

The SimulAI toolkit provides easy access to state-of-the-art models and algorithms for physics-informed machine learning. Currently, it includes the following methods described in the literature:

In addition to the methods above, many more techniques for model reduction and regularization are included in SimulAI. See documentation.

Installing

Python version requirements: 3.9 <= python <= 3.11

Using pip

For installing the most recent stable version from PyPI:

pip install simulai-toolkit

For installing from the latest commit sent to GitHub (just for testing and developing purposes):

pip uninstall simulai_toolkit
pip install -U git+https://github.com/IBM/simulai@$(git ls-remote [email protected]:IBM/simulai.git  | head -1 | awk '{print $1;}')#egg=simulai_toolkit

Contributing code to SimulAI

If you are interested in directly contributing to this project, please see CONTRIBUTING.

Using MPI

Some methods implemented on SimulAI support multiprocessing with MPI.

In order to use it, you will need a valid MPI distribution, e.g. MPICH, OpenMPI. As an example, you can use conda to install MPICH as follows:

conda install -c conda-forge mpich gcc

Issues with macOS

If you have problems installing gcc using the command above, we recommend you to install it using Homebrew.

Using Tensorboard

Tensorboard is supported for monitoring neural network training tasks. For a tutorial about how to set it see this example.

Documentation

Please, refer to the SimulAI API documentation before using the toolkit.

Examples

Additionally, you can refer to examples in the respective folder.

License

This software is licensed under Apache license 2.0. See LICENSE.

Contributing code to SimulAI

If you are interested in directly contributing to this project, please see CONTRIBUTING.

How to cite SimulAI in your publications

If you find SimulAI to be useful, please consider citing it in your published work:

@misc{simulai,
  author = {IBM},
  title = {SimulAI Toolkit},
  subtitle = {A Python package with data-driven pipelines for physics-informed machine learning},
  note = "https://github.com/IBM/simulai",
  doi = {10.5281/zenodo.7351516},
  year = {2022},
}

or, via Zenodo:

@software{joao_lucas_de_sousa_almeida_2023_7566603,
      author       = {João Lucas de Sousa Almeida and
                      Leonardo Martins and
                      Tarık Kaan Koç},
      title        = {IBM/simulai: 0.99.13},
      month        = jan,
      year         = 2023,
      publisher    = {Zenodo},
      version      = {0.99.25},
      doi          = {10.5281/zenodo.7566603},
      url          = {https://doi.org/10.5281/zenodo.7566603}
    }

Publications

João Lucas de Sousa Almeida, Pedro Roberto Barbosa Rocha, Allan Moreira de Carvalho and Alberto Costa Nogueira Jr. A coupled Variational Encoder-Decoder - DeepONet surrogate model for the Rayleigh-Bénard convection problem. In When Machine Learning meets Dynamical Systems: Theory and Applications, AAAI, 2023.

João Lucas S. Almeida, Arthur C. Pires, Klaus F. V. Cid, and Alberto C. Nogueira Jr. Non-intrusive operator inference for chaotic systems. IEEE Transactions on Artificial Intelligence, pages 1–14, 2022.

Pedro Roberto Barbosa Rocha, Marcos Sebastião de Paula Gomes, Allan Moreira de Carvalho, João Lucas de Sousa Almeida and Alberto Costa Nogueira Jr. Data-driven reduced-order model for atmospheric CO2 dispersion. In AAAI 2022 Fall Symposium: The Role of AI in Responding to Climate Challenges, 2022.

Pedro Roberto Barbosa Rocha, João Lucas de Sousa Almeida, Marcos Sebastião de Paula Gomes, Alberto Costa Nogueira, Reduced-order modeling of the two-dimensional Rayleigh–Bénard convection flow through a non-intrusive operator inference, Engineering Applications of Artificial Intelligence, Volume 126, Part B, 2023, 106923, ISSN 0952-1976, https://doi.org/10.1016/j.engappai.2023.106923. (https://www.sciencedirect.com/science/article/pii/S0952197623011077)

References

Jaeger, H., Haas, H. (2004). "Harnessing Nonlinearity: Predicting Chaotic Systems and Saving Energy in Wireless Communication," Science, 304 (5667): 78–80. DOI:10.1126/science.1091277.

Lu, L., Jin, P., Pang, G., Zhang, Z., Karniadakis, G. E. (2021). "Learning nonlinear operators via DeepONet based on the universal approximation theorem of operators," Nature Machine Intelligence, 3 (1): 218–229. ISSN: 2522-5839. DOI:10.1038/s42256-021-00302-5.

Eivazi, H., Le Clainche, S., Hoyas, S., Vinuesa, R. (2022) "Towards extraction of orthogonal and parsimonious non-linear modes from turbulent flows" Expert Systems with Applications, 202. ISSN: 0957-4174. DOI:10.1016/j.eswa.2022.117038.

Raissi, M., Perdikaris, P., Karniadakis, G. E. (2019). "Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations," Journal of Computational Physics, 378 (1): 686-707. ISSN: 0021-9991. DOI:10.1016/j.jcp.2018.10.045.

Lusch, B., Kutz, J. N., Brunton, S.L. (2018). "Deep learning for universal linear embeddings of nonlinear dynamics," Nature Communications, 9: 4950. ISSN: 2041-1723. DOI:10.1038/s41467-018-07210-0.

McQuarrie, S., Huang, C. and Willcox, K. (2021). "Data-driven reduced-order models via regularized operator inference for a single-injector combustion process," Journal of the Royal Society of New Zealand, **51**(2): 194-211. ISSN: 0303-6758. DOI:10.1080/03036758.2020.1863237.

simulai's People

Contributors

ibm-open-source-bot avatar jbampton avatar joao-l-s-almeida avatar martinuzzifrancesco avatar nickptav avatar phreyzer avatar snitramodranoel avatar spogis avatar tarikkaankoc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

simulai's Issues

🦋 Suggest: using black and isort before committing code

As a best practice, it is recommended to run the following commands before committing code changes to ensure the code conforms to the project's code formatting standards:

black . --config pyproject.toml
isort .

These commands respectively enforce the PEP 8 coding style guidelines (using black) and sort the import statements (using isort). This helps maintain consistency and readability across the codebase, making it easier for others to understand and review the changes.

Please consider running these commands before making a commit in future. @Joao-L-S-Almeida

Help: Missing Class in PyTorch Residuals Module

The document has been updated but the class in the PyTorch Residuals module (simulai.residuals._pytorch_residuals) is not visible.

This issue aims to investigate the reason for the class function's absence in the documentation and find a solution to make it visible.

  • Find a solution to make the class visible again

Problem:

Ekran Resmi 2023-02-04 10 32 23

Roadmap for SimulAI

Short term development (fundamental steps) :

  • Coverage for more than 95 % of the source code.
  • Complete documentation for all the classes and methods.
  • Automating the execution of sanity tests and coverage.
  • Examples in notebooks for all the cases seen in the directory examples.
Medium term Development
  • Complete scalability tests for Data Distributed Parallelism (DDP) using SimulAI models.
  • Complete scalability tests Full-Sharded Data Parallelism (FSDP) using SimulAI models.
  • Pipelines execution optimized via JIT (TorchScript, maybe PyPy).
  • Integration with the torchvision Modules ViTs, U-Nets and others.

To be considered

  • There can be gain in converting some modules to Cython ?

Document editing

I want to edit the structure of the {sphinx_rtd_theme} document (The doc-files look pretty complex.), but haven't had the opportunity to edit it. When I run the make html command I get the following error.

make: *** No rules for making target html. Stop.

RTD building fails

After moving the package folder from simulai to src to solve #1, RTD fails to build documentation, returning the following error:

$ python -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html
Running Sphinx v5.3.0

Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/simulai-toolkit/envs/latest/lib/python3.7/site-packages/sphinx/config.py", line 350, in eval_config_file
    exec(code, namespace)
  File "/home/docs/checkouts/readthedocs.org/user_builds/simulai-toolkit/checkouts/latest/docs/conf.py", line 24, in <module>
    import simulai
ModuleNotFoundError: No module named 'simulai'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/simulai-toolkit/envs/latest/lib/python3.7/site-packages/sphinx/cmd/build.py", line 280, in build_main
    args.pdb)
  File "/home/docs/checkouts/readthedocs.org/user_builds/simulai-toolkit/envs/latest/lib/python3.7/site-packages/sphinx/application.py", line 202, in __init__
    self.config = Config.read(self.confdir, confoverrides or {}, self.tags)
  File "/home/docs/checkouts/readthedocs.org/user_builds/simulai-toolkit/envs/latest/lib/python3.7/site-packages/sphinx/config.py", line 172, in read
    namespace = eval_config_file(filename, tags)
  File "/home/docs/checkouts/readthedocs.org/user_builds/simulai-toolkit/envs/latest/lib/python3.7/site-packages/sphinx/config.py", line 363, in eval_config_file
    raise ConfigError(msg % traceback.format_exc()) from exc
sphinx.errors.ConfigError: There is a programmable error in your configuration file:

Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/simulai-toolkit/envs/latest/lib/python3.7/site-packages/sphinx/config.py", line 350, in eval_config_file
    exec(code, namespace)
  File "/home/docs/checkouts/readthedocs.org/user_builds/simulai-toolkit/checkouts/latest/docs/conf.py", line 24, in <module>
    import simulai
ModuleNotFoundError: No module named 'simulai'


Configuration error:
There is a programmable error in your configuration file:

Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/simulai-toolkit/envs/latest/lib/python3.7/site-packages/sphinx/config.py", line 350, in eval_config_file
    exec(code, namespace)
  File "/home/docs/checkouts/readthedocs.org/user_builds/simulai-toolkit/checkouts/latest/docs/conf.py", line 24, in <module>
    import simulai
ModuleNotFoundError: No module named 'simulai'

OpInf support for iterative optimization

Basic support for optimization process in Opinf

Currently OpInf supports two kind of optimization solvers: lstsq and pinv, the first one employs a simple solver for the equivalent normal linear system and the second one a Moore-Penrose pseudoinverse. However, it is important to consider the employment of iterative solvers in order to allow the employment of a broader class of objective functions and regularizations, in this way:

  • The class OpInf should support to receive an optimizer object in the argument solver .
  • By the moment, it just does nothing and produces a warning.

Automatic configuration for Autoencoders

  • Intead of providing instances of sub-networks for an AE object, there could be an option for automatically instantiating them.
  • By providing an option 'auto=True', the class will call the subnetworks and provide automatically generated configuration dictionaries for them.

📌 Problem: Lack of Detailed Release Information 🛠

It has been noticed that releases are often lacking in detailed information, making it difficult for stakeholders to understand the nature and scope of changes made.

To address this problem, it is recommended to provide comprehensive and clear release notes with each release. This should include:

  • A list of new features and changes
  • Bug fixes and performance improvements
  • Known issues and limitations
  • Any breaking changes and how to handle them

By providing this information, stakeholders can have a better understanding of what has been changed and what impact it will have, enabling them to make informed decisions and prepare accordingly.

Upd: docs

Stanford Theme 🥇


Image description

How do you think it looks?

📌 Enhancement Request: Develop Project Roadmap

I would like to request the creation of a Project Roadmap issue. This will help us keep track of the project's progress and ensure that we are moving in the right direction.

Please create the issue and I will follow up by pinning it to the repository for future reference.

Thank you in advance for your efforts in this matter.

Create new issue for roadmap and pin issuse:

Ekran Resmi 2023-01-31 05 42 25

Example Roadmap Templates:

Unnecessary Dependencies ? Long Installation Time 👀

Unnecessary Dependencies ? 👀


I recommend a thorough review of dependencies and removing those that are not essential to the functionality of the library. This will help improve the performance and usability of the library for users.

Steps to reproduce:

  • Review the dependencies of the library
  • Identify any dependencies that are not essential to the library's

Expected outcome:

  • Removal of unnecessary dependencies will improve the performance and usability of the library for users.

Actual outcome:

  • Unnecessary dependencies are included in the library, increasing the size of the library and the time required for installation.

@snitramodranoel @Joao-L-S-Almeida Please share the list of dependencies you think are unnecessary for the library functionality and also explain why you think so. (We have noticed that the library, simulai-toolkit, takes a significant amount of time to install. This may be caused by the presence of multiple dependencies, which increase the size of the library and the time required for installation. We recommend conducting a review of the library's dependencies and package size to identify any possible optimization opportunities. I did not notice an unnecessary dependency, please take a look at projcet.)

Need to be downloaded and installed, dependencies such as: numba, torch, netCDF4, pyDOE, optuna, and imageio. Additionally, torch which is 133.8 MB.

Upd: logo

New Logo🥇 (Created with Canva)


Image description

📌 Problem: Excessive Commits and Poor Release Output 🛠

I've found that committing too often leads to a complicated history of commits, making it difficult to track changes and understand the development process.

Consider using a rebase or merge strategy to combine multiple commits into a single well-documented commit. (I just learned about this in my own personal project.) Additionally, it's important to thoroughly test changes before creating a release to make sure it's of high quality.

Missing documentation for module parallel

However, upon review, I have noticed that the entire contents of the module are not being displayed in the documentation.

I need help in finding a solution to this issue, so that the code at documantation for module parallel can be properly displayed.

Ekran Resmi 2023-01-29 02 59 38

Subpackages are not included during build

$ python -m build

* Creating venv isolated environment...
* Installing packages in isolated environment... (setuptools >= 61, wheel >= 0.29.0)
* Getting build dependencies for sdist...
/private/var/folders/j6/sq0h_07x6yjbdz40p6x7qgbr0000gn/T/build-env-q61y5wgv/lib/python3.9/site-packages/setuptools/config/pyprojecttoml.py:108: _BetaConfiguration: Support for `[tool.setuptools]` in `pyproject.toml` is still *beta*.
  warnings.warn(msg, _BetaConfiguration)
running egg_info
creating simulai_toolkit.egg-info
writing simulai_toolkit.egg-info/PKG-INFO
writing dependency_links to simulai_toolkit.egg-info/dependency_links.txt
writing requirements to simulai_toolkit.egg-info/requires.txt
writing top-level names to simulai_toolkit.egg-info/top_level.txt
writing manifest file 'simulai_toolkit.egg-info/SOURCES.txt'
reading manifest file 'simulai_toolkit.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*' under directory 'tests'
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
warning: no files found matching '*.jpg' under directory 'docs'
warning: no files found matching '*.gif' under directory 'docs'
adding license file 'LICENSE'
adding license file 'AUTHORS.rst'
writing manifest file 'simulai_toolkit.egg-info/SOURCES.txt'
* Building sdist...
/private/var/folders/j6/sq0h_07x6yjbdz40p6x7qgbr0000gn/T/build-env-q61y5wgv/lib/python3.9/site-packages/setuptools/config/pyprojecttoml.py:108: _BetaConfiguration: Support for `[tool.setuptools]` in `pyproject.toml` is still *beta*.
  warnings.warn(msg, _BetaConfiguration)
running sdist
running egg_info
writing simulai_toolkit.egg-info/PKG-INFO
writing dependency_links to simulai_toolkit.egg-info/dependency_links.txt
writing requirements to simulai_toolkit.egg-info/requires.txt
writing top-level names to simulai_toolkit.egg-info/top_level.txt
reading manifest file 'simulai_toolkit.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*' under directory 'tests'
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
warning: no files found matching '*.jpg' under directory 'docs'
warning: no files found matching '*.gif' under directory 'docs'
adding license file 'LICENSE'
adding license file 'AUTHORS.rst'
writing manifest file 'simulai_toolkit.egg-info/SOURCES.txt'
running check
creating simulai-toolkit-1.0.0
creating simulai-toolkit-1.0.0/docs
creating simulai-toolkit-1.0.0/docs/_static
creating simulai-toolkit-1.0.0/docs/legacy
creating simulai-toolkit-1.0.0/simulai
creating simulai-toolkit-1.0.0/simulai_toolkit.egg-info
copying files to simulai-toolkit-1.0.0...
copying AUTHORS.rst -> simulai-toolkit-1.0.0
copying CONTRIBUTING.rst -> simulai-toolkit-1.0.0
copying HISTORY.rst -> simulai-toolkit-1.0.0
copying LICENSE -> simulai-toolkit-1.0.0
copying MANIFEST.in -> simulai-toolkit-1.0.0
copying README.rst -> simulai-toolkit-1.0.0
copying pyproject.toml -> simulai-toolkit-1.0.0
copying setup.py -> simulai-toolkit-1.0.0
copying docs/Makefile -> simulai-toolkit-1.0.0/docs
copying docs/conf.py -> simulai-toolkit-1.0.0/docs
copying docs/index.rst -> simulai-toolkit-1.0.0/docs
copying docs/modules.rst -> simulai-toolkit-1.0.0/docs
copying docs/simulai.backup.Network.rst -> simulai-toolkit-1.0.0/docs
copying docs/simulai.backup.Optimization.rst -> simulai-toolkit-1.0.0/docs
copying docs/simulai.backup.Pipeline.rst -> simulai-toolkit-1.0.0/docs
copying docs/simulai.backup.rst -> simulai-toolkit-1.0.0/docs
copying docs/simulai.math.rst -> simulai-toolkit-1.0.0/docs
copying docs/simulai.models.rst -> simulai-toolkit-1.0.0/docs
copying docs/simulai.optimization.rst -> simulai-toolkit-1.0.0/docs
copying docs/simulai.regression.pytorch.rst -> simulai-toolkit-1.0.0/docs
copying docs/simulai.regression.rst -> simulai-toolkit-1.0.0/docs
copying docs/simulai.regression.tf.rst -> simulai-toolkit-1.0.0/docs
copying docs/simulai.residuals.rst -> simulai-toolkit-1.0.0/docs
copying docs/simulai.rom.rst -> simulai-toolkit-1.0.0/docs
copying docs/simulai.rst -> simulai-toolkit-1.0.0/docs
copying docs/simulai.templates.rst -> simulai-toolkit-1.0.0/docs
copying docs/simulai.utilities.rst -> simulai-toolkit-1.0.0/docs
copying docs/simulai.workflows.rst -> simulai-toolkit-1.0.0/docs
copying docs/_static/file.png -> simulai-toolkit-1.0.0/docs/_static
copying docs/_static/minus.png -> simulai-toolkit-1.0.0/docs/_static
copying docs/_static/plus.png -> simulai-toolkit-1.0.0/docs/_static
copying docs/legacy/authors.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/conf.py -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/contributing.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/history.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/index.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/installation.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/make.bat -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/modules.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/readme.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/simulai.backup.Network.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/simulai.backup.Optimization.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/simulai.backup.Pipeline.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/simulai.backup.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/simulai.math.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/simulai.models.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/simulai.optimization.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/simulai.regression.pytorch.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/simulai.regression.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/simulai.regression.tf.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/simulai.residuals.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/simulai.rom.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/simulai.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/simulai.templates.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/simulai.utilities.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/simulai.workflows.rst -> simulai-toolkit-1.0.0/docs/legacy
copying docs/legacy/usage.rst -> simulai-toolkit-1.0.0/docs/legacy
copying simulai/__init__.py -> simulai-toolkit-1.0.0/simulai
copying simulai/abstract.py -> simulai-toolkit-1.0.0/simulai
copying simulai/activations.py -> simulai-toolkit-1.0.0/simulai
copying simulai/batching.py -> simulai-toolkit-1.0.0/simulai
copying simulai/file.py -> simulai-toolkit-1.0.0/simulai
copying simulai/initialization.py -> simulai-toolkit-1.0.0/simulai
copying simulai/io.py -> simulai-toolkit-1.0.0/simulai
copying simulai/mesh.py -> simulai-toolkit-1.0.0/simulai
copying simulai/metrics.py -> simulai-toolkit-1.0.0/simulai
copying simulai/normalization.py -> simulai-toolkit-1.0.0/simulai
copying simulai/output.py -> simulai-toolkit-1.0.0/simulai
copying simulai/parallel.py -> simulai-toolkit-1.0.0/simulai
copying simulai/simulation.py -> simulai-toolkit-1.0.0/simulai
copying simulai/special.py -> simulai-toolkit-1.0.0/simulai
copying simulai/tokens.py -> simulai-toolkit-1.0.0/simulai
copying simulai_toolkit.egg-info/PKG-INFO -> simulai-toolkit-1.0.0/simulai_toolkit.egg-info
copying simulai_toolkit.egg-info/SOURCES.txt -> simulai-toolkit-1.0.0/simulai_toolkit.egg-info
copying simulai_toolkit.egg-info/dependency_links.txt -> simulai-toolkit-1.0.0/simulai_toolkit.egg-info
copying simulai_toolkit.egg-info/requires.txt -> simulai-toolkit-1.0.0/simulai_toolkit.egg-info
copying simulai_toolkit.egg-info/top_level.txt -> simulai-toolkit-1.0.0/simulai_toolkit.egg-info
Writing simulai-toolkit-1.0.0/setup.cfg
Creating tar archive
removing 'simulai-toolkit-1.0.0' (and everything under it)
* Building wheel from sdist
* Creating venv isolated environment...
* Installing packages in isolated environment... (setuptools >= 61, wheel >= 0.29.0)
* Getting build dependencies for wheel...
/private/var/folders/j6/sq0h_07x6yjbdz40p6x7qgbr0000gn/T/build-env-mgye8sb8/lib/python3.9/site-packages/setuptools/config/pyprojecttoml.py:108: _BetaConfiguration: Support for `[tool.setuptools]` in `pyproject.toml` is still *beta*.
  warnings.warn(msg, _BetaConfiguration)
/private/var/folders/j6/sq0h_07x6yjbdz40p6x7qgbr0000gn/T/build-env-mgye8sb8/lib/python3.9/site-packages/setuptools/config/expand.py:144: UserWarning: File '/private/var/folders/j6/sq0h_07x6yjbdz40p6x7qgbr0000gn/T/build-via-sdist-p3_zvqn3/simulai-toolkit-1.0.0/DESCRIPTION.rst' cannot be found
  warnings.warn(f"File {path!r} cannot be found")
running egg_info
writing simulai_toolkit.egg-info/PKG-INFO
writing dependency_links to simulai_toolkit.egg-info/dependency_links.txt
writing requirements to simulai_toolkit.egg-info/requires.txt
writing top-level names to simulai_toolkit.egg-info/top_level.txt
reading manifest file 'simulai_toolkit.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*' under directory 'tests'
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
warning: no files found matching '*.jpg' under directory 'docs'
warning: no files found matching '*.gif' under directory 'docs'
adding license file 'LICENSE'
adding license file 'AUTHORS.rst'
writing manifest file 'simulai_toolkit.egg-info/SOURCES.txt'
* Installing packages in isolated environment... (wheel)
* Building wheel...
/private/var/folders/j6/sq0h_07x6yjbdz40p6x7qgbr0000gn/T/build-env-mgye8sb8/lib/python3.9/site-packages/setuptools/config/pyprojecttoml.py:108: _BetaConfiguration: Support for `[tool.setuptools]` in `pyproject.toml` is still *beta*.
  warnings.warn(msg, _BetaConfiguration)
/private/var/folders/j6/sq0h_07x6yjbdz40p6x7qgbr0000gn/T/build-env-mgye8sb8/lib/python3.9/site-packages/setuptools/config/expand.py:144: UserWarning: File '/private/var/folders/j6/sq0h_07x6yjbdz40p6x7qgbr0000gn/T/build-via-sdist-p3_zvqn3/simulai-toolkit-1.0.0/DESCRIPTION.rst' cannot be found
  warnings.warn(f"File {path!r} cannot be found")
running bdist_wheel
running build
running build_py
creating build
creating build/lib
creating build/lib/simulai
copying simulai/simulation.py -> build/lib/simulai
copying simulai/abstract.py -> build/lib/simulai
copying simulai/metrics.py -> build/lib/simulai
copying simulai/batching.py -> build/lib/simulai
copying simulai/activations.py -> build/lib/simulai
copying simulai/io.py -> build/lib/simulai
copying simulai/__init__.py -> build/lib/simulai
copying simulai/tokens.py -> build/lib/simulai
copying simulai/mesh.py -> build/lib/simulai
copying simulai/initialization.py -> build/lib/simulai
copying simulai/file.py -> build/lib/simulai
copying simulai/parallel.py -> build/lib/simulai
copying simulai/normalization.py -> build/lib/simulai
copying simulai/special.py -> build/lib/simulai
copying simulai/output.py -> build/lib/simulai
running egg_info
writing simulai_toolkit.egg-info/PKG-INFO
writing dependency_links to simulai_toolkit.egg-info/dependency_links.txt
writing requirements to simulai_toolkit.egg-info/requires.txt
writing top-level names to simulai_toolkit.egg-info/top_level.txt
reading manifest file 'simulai_toolkit.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*' under directory 'tests'
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
warning: no files found matching '*.jpg' under directory 'docs'
warning: no files found matching '*.gif' under directory 'docs'
adding license file 'LICENSE'
adding license file 'AUTHORS.rst'
writing manifest file 'simulai_toolkit.egg-info/SOURCES.txt'
installing to build/bdist.macosx-10.9-x86_64/wheel
running install
running install_lib
creating build/bdist.macosx-10.9-x86_64
creating build/bdist.macosx-10.9-x86_64/wheel
creating build/bdist.macosx-10.9-x86_64/wheel/simulai
copying build/lib/simulai/simulation.py -> build/bdist.macosx-10.9-x86_64/wheel/simulai
copying build/lib/simulai/abstract.py -> build/bdist.macosx-10.9-x86_64/wheel/simulai
copying build/lib/simulai/metrics.py -> build/bdist.macosx-10.9-x86_64/wheel/simulai
copying build/lib/simulai/batching.py -> build/bdist.macosx-10.9-x86_64/wheel/simulai
copying build/lib/simulai/activations.py -> build/bdist.macosx-10.9-x86_64/wheel/simulai
copying build/lib/simulai/io.py -> build/bdist.macosx-10.9-x86_64/wheel/simulai
copying build/lib/simulai/__init__.py -> build/bdist.macosx-10.9-x86_64/wheel/simulai
copying build/lib/simulai/tokens.py -> build/bdist.macosx-10.9-x86_64/wheel/simulai
copying build/lib/simulai/mesh.py -> build/bdist.macosx-10.9-x86_64/wheel/simulai
copying build/lib/simulai/initialization.py -> build/bdist.macosx-10.9-x86_64/wheel/simulai
copying build/lib/simulai/file.py -> build/bdist.macosx-10.9-x86_64/wheel/simulai
copying build/lib/simulai/parallel.py -> build/bdist.macosx-10.9-x86_64/wheel/simulai
copying build/lib/simulai/normalization.py -> build/bdist.macosx-10.9-x86_64/wheel/simulai
copying build/lib/simulai/special.py -> build/bdist.macosx-10.9-x86_64/wheel/simulai
copying build/lib/simulai/output.py -> build/bdist.macosx-10.9-x86_64/wheel/simulai
running install_egg_info
Copying simulai_toolkit.egg-info to build/bdist.macosx-10.9-x86_64/wheel/simulai_toolkit-1.0.0-py3.9.egg-info
running install_scripts
creating build/bdist.macosx-10.9-x86_64/wheel/simulai_toolkit-1.0.0.dist-info/WHEEL
creating '/Users/leonardo/Library/CloudStorage/Box-Box/BRL/Source/simulai/dist/tmpf49bsr0a/simulai_toolkit-1.0.0-py3-none-any.whl' and adding 'build/bdist.macosx-10.9-x86_64/wheel' to it
adding 'simulai/__init__.py'
adding 'simulai/abstract.py'
adding 'simulai/activations.py'
adding 'simulai/batching.py'
adding 'simulai/file.py'
adding 'simulai/initialization.py'
adding 'simulai/io.py'
adding 'simulai/mesh.py'
adding 'simulai/metrics.py'
adding 'simulai/normalization.py'
adding 'simulai/output.py'
adding 'simulai/parallel.py'
adding 'simulai/simulation.py'
adding 'simulai/special.py'
adding 'simulai/tokens.py'
adding 'simulai_toolkit-1.0.0.dist-info/AUTHORS.rst'
adding 'simulai_toolkit-1.0.0.dist-info/LICENSE'
adding 'simulai_toolkit-1.0.0.dist-info/METADATA'
adding 'simulai_toolkit-1.0.0.dist-info/WHEEL'
adding 'simulai_toolkit-1.0.0.dist-info/top_level.txt'
adding 'simulai_toolkit-1.0.0.dist-info/RECORD'
removing build/bdist.macosx-10.9-x86_64/wheel
Successfully built simulai-toolkit-1.0.0.tar.gz and simulai_toolkit-1.0.0-py3-none-any.whl

Twine check fails upon package building

$ python -m build
$ python -m twine check dist/*
Checking dist/simulai_toolkit-1.0.0-py3-none-any.whl: FAILED
ERROR    `long_description` has syntax errors in markup and would not be
         rendered on PyPI.
         line 3: Warning: Duplicate explicit target name: "documentation".
Checking dist/simulai-toolkit-1.0.0.tar.gz: FAILED
ERROR    `long_description` has syntax errors in markup and would not be
         rendered on PyPI.
         line 3: Warning: Duplicate explicit target name: "documentation".

PyPI project description is missing

Despite configuration of pyproject.toml according to setuptools documentation, PyPI will not render the description provided in DESCRIPTION.md

Add NumPy style Docstrings to SimulAI packages

Add NumPy style Docstrings to SimulAI packages

Tasks


  • Review the current documentation for the Optimization package, Regression package, Regression.pytorch sub-package, Residuals package, Sampling package, Control utilities package, and ROM package in the SimulAI package.
    Write clear, concise, and comprehensive docstrings for all functions, classes, and methods in the packages using the NumPy style of documentation.
  • Ensure that the docstrings provide enough information for users to understand how to use the package, what the function or class does and what inputs and outputs are
  • Add examples in the docstrings to make it easier for users to understand how to use the package
  • Test the packages after adding the docstrings to ensure that they are complete and accurate
  • Add docstrings to simulai/modules
  • Ensure that the docstrings are consistent in style and format throughout the package
  • Make all the packages easily accessible to users by providing links to the packages in the main documentation of SimulAI.

#60

Optimization package mistakenly removed during local changes

Recently, a pull request was submitted to remove the optimization package from the project. However, it was discovered that this package was still being used in certain parts of the code and its removal caused errors.

To fix this issue, the optimization package needs to be restored to the project and all relevant code needs to be updated to use it correctly. Additionally, proper testing should be done to ensure that no further issues have been introduced by this change.

The pull request should not be merged until this issue has been resolved.

Sphinx Build Successful but with 146 Warnings

I have successfully built my Sphinx documentation but I am getting 146 warnings. Is there a way to automatically fix these warnings?

I have tried using the "nitpick mode" but I am getting an error that says "nitpick mode" is not available through the constructor name or entry point. I am not sure what is causing this issue and I would appreciate any help in resolving it.

Additionally, is there a way to automatically fix these warnings in the future?

Thank you. @snitramodranoel @Joao-L-S-Almeida

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.