Coder Social home page Coder Social logo

openmdao.jl's People

Contributors

andrewning avatar dingraha avatar justinsgray avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

openmdao.jl's Issues

Use PythonCall/JuliaCall instead of PyCall/pyjulia?

I've been working on replacing OpenMDAO.jl's dependency on PyCall/pyjulia with PythonCall and JuliaCall. The benefits of PythonCall/Juliacall over the older PyCall/pyjulia libraries:

  • PythonCall and JuliaCall manage dependencies much better, using CondaPkg for Python dependencies in a Julia package, and JuliaPkg for Julia dependencies in a Python package
  • JuliaCall is able to pass a Julia struct without a copy, which gets around an annoying hack that OpenMDAO.jl uses now

The version of OpenMDAO.jl using PythonCall/JuliaCall is in the pythoncall_juliacall branch of my fork: https://github.com/dingraha/OpenMDAO.jl/tree/pythoncall_juliacall I've managed to get CI set up, and have some docs, too.

The switch wouldn't be too painful—the API is basically the same, though I did split the Julia-related code into two packages:

  • OpenMDAOCore.jl: A Julia-only package that defines the interface used to create OpenMDAO components from Julia code (AbstractExplicitComp, AbstractImplicitComp, etc.)
  • OpenMDAO.jl, a small wrapper package that has OpenMDAO itself (the actual Python package) as a dependency, along with OpenMDAOCore.jl. (The idea is a Julia user can install OpenMDAO.jl to get access to both OpenMDAOCore.jl and OpenMDAO itself, then use it from Julia.)

Current OpenMDAO.jl code would have to replace references to, say, OpenMDAO.AbstractImplicitComp or OpenMDAO.setup! with OpenMDAOCore.AbstractImplicitComp and OpenMDAOCore.setup!.

I was about to submit a pull request, but wanted to create this issue to give any current users a chance to weigh in. I don't imagine there are many out there. :-) @andrewning Does anyone from your research group use this currently? There are a handful of users here at Glenn (maybe three, counting me).

Add licence?

I guess we should have a licence for this. @andrewning your group appears to use MIT for most things. Would that be OK with you for OpenMDAO.jl?

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.