Saravanan666/pypi-org huggingface dataset:
Package: md-index
md-indexGenerate markdown index of files in folder for mkdocs.Installpipinstallmd-indexUsageUsage:md-index[OPTIONS]Options:-i,--input-dirPATHInputdirectory.-o,--output-dirDIRECTORYOutputdirectory.-d,--depthINTEGERDepthofthefiletreetogenerate,1or2.-u,--url-prefixTEXTPrefixfortheURLsinthegeneratedindex.--helpShowthismessageandexit.The command will generate a folder (default:docs) with a markdown file for each folder in the input directory (default:.). The markdown file will contain a list of files in the folder.Default depth is 1, which means only the folders in the root of the input directory will be processed. Depth 2 will process the folders in the root and the subfolders. The depth is limited to 2.ExamplesSingle level directory├─folder1
│├─file1.txt
│├─file2.txt
│└─file3.txt
├─folder2
│├─file1.txt
│└─file2.txt
└─README.mdmd-indexTwo-level directory├─folder1
│├─subfolder1
││├─file1.txt
││├─file2.txt
││└─file3.txt
│└─subfolder2
││└─file1.txt
├─folder2
│├─subfolder1
││└─file1.txt
│└─subfolder2
││├─file1.txt
││└─file2.txt
└─README.mdmd-index--depth=2Github repository download linkmd-index--url-prefix=https://raw.githubusercontent.com/{user}/{repo}/{branch}/Example processing flowpipinstallmd-index
pipinstallmkdocscd/path/to/project
md-index
mkdocsbuildThe generated markdown index is in folderdocsand the mkdocs site is in foldersite. If you don't have amkdocs.ymlfile in the root of the input directory, a simple yml file will be auto generated and set the website nameFile Indexand themereadthedocs.Automatically publishing a GitHub file repository to Github Pagesname: Build and Deploy
on: [push]
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Install Python 3.10
        uses: actions/setup-python@v4
        with:
          python-version: "3.10"

      - name: Install md-index
        run: pip install md-index

      - name: Install mkdocs
        run: pip install mkdocs

      - name: Build index
        run: md-index
        working-directory: "./"

      - name: Build website
        run: mkdocs build
        working-directory: "./"

      - name: Upload build folder to gh-pages branch
        uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: "./site"
Package: mdinfo-exiftool
Plugin formdinfothat provides a template interface toexiftool.Synopsis$mdinfo-p"{exiftool:XMP:Title}"-p"{exiftool:Keywords}"*.jpegflowers.jpeg:Ziniaflowersinafieldpears.jpeg:PearsonatreefruitpearsInstallationRequiresmdinfoto be installed.pipinstallmdinfopipinstallmdinfo-exiftoolTemplate Help{exiftool}Format:{exiftool:GROUP:TAGNAME}; use exiftool (https://exiftool.org) to extract metadata, in form GROUP:TAGNAME or TAGNAME, from image. E.g.{exiftool:Make}to get camera make, or{exiftool:IPTC:Keywords}to extract keywords. Seehttps://exiftool.org/TagNames/for list of valid tag names.  Group name is optional (e.g. EXIF, IPTC, etc) but if specified, should be the same as used inexiftool-G, e.g.{exiftool:EXIF:Make}. exiftool must be installed in the path to use this template field (https://exiftool.org/).The{exiftool}template uses the third-party exiftool app (https://exiftool.org) to extract metadata from photo and video files.It must be used with one or more subfields which are exiftool tags, for example:{exiftool:EXIF:Make}for camera make,
or{exiftool:IPTC:Keywords}for keywords. The exiftool Group name (e.g.IPTC) is optional.There are two derived subfields:createdandmodifiedwhich represent the created date or the modified date, respectively.
These subfields are datetime values and you can access the various attributes of the datetime by using an
attribute name following a period, e.g.{exiftool:created.year}for the 4-digit year.  This follows the conventions of mdinfo date/time fields.
Package: md-inputs
md_inputsmd_inputsis a python-mardown extension for inputs(text, select, checkbox...) in markdown documentUsageUse [[ text ]] to make a inline input element.Text must contion attribute:typeat least, like a html tag, your can add any attribute into the input element.Thevalueattribute is used to set thecheckboxradioselectinput type value(selectedorcheckedin given index(start from 0 forselected), "1" meanschecked)If thetypeisselect, theoptandopt_valueattribute is used to set select options.optmeans the display text of selections, each item use:to seperate.opt_valueis the value of options, the separated item count of theopt_valuemust be the same of theopt. if theopt_valuehas not given, md_inputs will use theoptinstead theopt_value.Exampleselectmarkdown:[[type='select' opt='eopt1:eopt2' class='dfaj' id='eid1']]html:<p><span><selectclass='dfaj'id='eid1'><optionvalue='eopt1'>eopt1</option><optionvalue='eopt1'>eopt2</option></select></span></p>markdown:[[type='select' opt='eopt1:eopt2' opt_value="1:2" class='dfaj' id='eid1' value="1"]]html:<p><span><selectclass='dfaj'id='eid1'value='1'><optionvalue='1'>eopt1</option><optionvalue='2'selected>eopt2</option></select></span></p>inputmarkdown:[[type='input' value="hello" id='edit1']]html:<p><span><inputtype='input'value='hello'id='edit1'/></span></p>checkboxmarkdown:[[type='checkbox' value="1"]]html:<p><span><inputtype='checkbox'value='1'checked/></span></p>
Package: mdiocre
MDiocreA very simple static website generator tool powered by Python. It primarily converts Markdown files and combines it with an HTML template, but can be extended to other markup.RequirementsPython 3 (python-markdown+py-gfm)Other RequirementsReStructuredText(RST) support requiresdocutilsto be installed.If you want to build thedocumentation, you will have to install Sphinx as well.What sets it apart from other tools?It's terrible and it doesn't have a profitable and pragmatic usecase in mind, but it works okay. For my needs, anyway. It's alright for simple blogs with no tagging and very simple static websites.How do I make a site with this?Installmdiocreby using the command:python3 -m pip install mdiocre.Create a work folder. Let's call itwork.Make a file calledtemplate.htmlinside that folder with these contents:<html>
<head>Welcome to my website!</head>
<body><!--:content--></body>
</html>Create a folder calledsrc, and make a file inside of it calledindex.md, and write anything on it.After your content (or before, it doesn't matter), add:<!--:mdiocre-template="../template.html"-->Go back a level to yourworkfolder. Assuming Python is present in your PATH (environment variable), create a new text document containing:python3 -m mdiocre.interface.cli src buildSave it inside the folder as a .bat if you're on Windows, or as a .sh if you're on Mac, Linux, or other Unix-like systems. Double click or execute it.Check thebuildfolder.VariablesMDiocre allows setting variables. These variables are per-page, and can be read by the template. Both the template and the markdown page share the same format for templates - which are HTML comments with the first character after the markup being the colon (:)Setting a variable to a string<!--: hello = "test message" -->Simply setshellototest message. When using a comma, make sure to escape it with \!Setting a variable to another variable<!--: hello = lemons -->Iflemonsis1thenhellowill also be1. Iflemonsis not set,hellowill contain the stringlemons.Concatenating two or more variables<!--: lemons = hello, hello -->Ifhellocontainsabcthenlemonswill containabcabc. However, if you also include a space string in between, like this...<!-- lemons = hello, " ", hello -->lemonswill containabc abc!
Package: mdisk
MdiskInstallForPackagepipinstallmdiskUsageYou can use this as python module or via terminalUse as python modulefrommdiskimportMdiskd=Mdisk("YOUR_API_KEY")# Upload video from direct linksd.upload("VIDEO_LINK")Use via terminalset your Mdisk api key firstexportMDISK_API=you_key_hereProvidesw link for mdiskmdiskuploadVIDEO_LINKCreditsAkKiL
Package: mdiskpro
MdiskProA Unofficial Wrapper for Mdiskpro.xyz·Report Bug / Request Feature·Usage·ReferenceMdiskProAn Unofficial Python version of Mdiskpro.xyz. Used to Short your long link and let you Earn from it.InstallationInstall shortzy with pippipinstallmdiskproTo Upgradepipinstall--upgrademdiskproUsagefrommdiskproimportMdiskProimportasynciomdiskpro=MdiskPro('<YOUR API KEY>')asyncdefmain():link=awaitmdiskpro.convert('https://example.com/')print(link)asyncio.run(main())Output:https://mdiskpro.in/mVkraFeaturesSingle URL ConvertBatch Convert from ListConvert from TextContributingContributions are always welcome!ReferenceInitfrommdiskproimportShortzyimportasynciomdiskpro=MdiskPro(api_key="Your API Key")Convert a single URLconvert(link,alias,silently_fail,quick_link)->strParameterTypeDescriptionlinkstringRequired. Long URL LinkaliasstringCustom alias for the linksilently_failboolRaise an exception or not if error ocuursquick_linkboolReturns the quick linkExample:asyncdefmain():link=awaitmdiskpro.convert('https://www.youtube.com/watch?v=d8RLHL3Lizw')print(link)asyncio.run(main())Convert from Textconvert_from_text(text:str,silently_fail:bool=True,quick_link:bool=False)->strParameterTypeDescriptiontextstrRequired. Text containing Long URLS to shortExample:asyncdefmain():text="""Unstoppable:-https://www.youtube.com/watch?v=330xlOv8p9MNight Changes:-https://www.youtube.com/watch?v=syFZfO_wfMQ"""link=awaitMdiskPro.convert_from_text(text)print(link)asyncio.run(main())Get quick linkget_quick_link(link:str)ParameterTypeDescriptionlinkstrRequired. Long LinkExample:asyncdefmain():link="https://www.youtube.com/watch?v=syFZfO_wfMQ"quick_link=awaitMdiskPro.get_quick_link(link)print(quick_link)asyncio.run(main())CreditsThanks To Me
Package: mdisky
MdiskyAn Unofficial Python version of Mdisk API wrapper·Report BugMdiskyAn Unofficial Python version of Mdisk API wrapper. Used to convert and rename Mdisk Files.InstallationInstall mdisky with pippipinstallmdiskyTo Upgradepipinstall--upgrademdiskyUsagefrommdiskyimportMdiskimportasyncioasyncdefmain():mdisk=Mdisk('us5CqX8oandALtQ86FLq')link=awaitmdisk.convert('https://mdisk.me/convertor/16x9/H331KO')print(link)asyncio.run(main())Output:https://mdisk.me/convertor/16x9/gvh9fISee thedocumentationfor more information about the Mdisk API wrapper.
Package: mdit-py-emoji
mdit-py-emojiEmoji plugin for markdown-it-py. Ported fromhttps://github.com/markdown-it/markdown-it-emojiInstallationChoose your favorite!pipinstallmdit-py-emoji
pdmaddmdit-py-emoji
poetryaddmdit-py-emojiUsageUse it just like other plugins!frommarkdown_itimportMarkdownItfrommdit_py_emojiimportemoji_pluginmd=MarkdownIt().use(emoji_plugin)print(md.renderInline(":star: mdit-py-emoji! :star:"))# ⭐ mdit-py-emoji! ⭐print(md.renderInline("Is shortcut supported too :/? :white_check_mark:"))# Is shortcut supported too 😕? ✅CustomizationPassdefsandshortcutsand that's it!frommarkdown_itimportMarkdownItfrommdit_py_emojiimportemoji_pluginmd=MarkdownIt().use(emoji_plugin,shortcuts={"arrow_up":[":up_arrow:",":up_arr:"],"arrow_down":[":down_arrow:",":down_arr:"],},)# Some tricks like `false = False`print(md.renderInline(":down_arr: Go Down :down_arrow:"))# ⬇️ Go Down ⬇️Wondering about the defaults? Checkdata.py!Note: twemoji shortcuts are enabled by default. passshortcuts={}to disable it.LicenseThis project is licensed underMIT License.
Package: mdit-py-i18n
mdit-py-i18nMarkdown i18n and l10n using markdown-it-py.CommonMark compliant. All core Markdown elements are supported, as well as
table, and definition list. Front matter handlers are left for users to
implement.Installpipinstallmdit-py-i18nNotesSome notes about how different elements are handled:Inlines: hard line breaks are replaced with<br />, newlines and
consecutive spaces are not kept;Content of each HTML block isn't parsed into finer tokens but processed
as a whole;Fenced code blocks: disabled by default. When enabled, only//and#single comments are processed;UsageExtractionImplementI18NEntryProtocolandDomainExtractionProtocolSubclassRendererMarkdownI18NGenerationImplementDomainGenerationProtocolSubclassRendererMarkdownL10NDevelopmentEnvironmentWith Condacondaenvcreate-fenvironment.yml
condaactivatempi
poetryinstall
Package: mdit-py-toc
mdit-py-tocA table of contents (TOC) plugin formarkdown-it-pybased onmarkdown-it-toc-done-right.InstallationInstall using poetryInstall using pipOptionsUsageInstallationInstall using poetryBecausemdit-py-tocis a plugin, you most likely need a tool to
handle Python package dependencies and Python environments. Therefore we
strongly recommend usingpoetry.You can install the latest stable release and add it as a dependency for your
current project usingpoetrypoetry add mdit-py-tocInstall using pip[!NOTE]
Thepip installcommand does no longer work out-of-the-box in newer
distributions like Ubuntu >= 23.04 because ofPEP 668.You can install the latest stable release from the Python Package Index (pypi)
usingpippython -m pip install mdit-py-tocOptionsNameDescriptionDefaultpatternThe pattern serving as the TOC placeholder in your markdownr"^(\[TOC\]")levelHeading level to apply anchors on or iterable of selected levels(1, 2)list_typeType of list ("ul"for unordered,"ol"for ordered)"ul"slug_funcFunction to convert heading title text to id slugs for link referencesmdit_py_toc.slugifyUsagemdit-py-tocworks best in conjunction with theanchors plugin.frommarkdown_itimportMarkdownItfrommdit_py_plugins.anchorsimportanchors_pluginfrommdit_py_tocimporttoc_plugin,slugifymd=(MarkdownIt().use(anchors_plugin,permalink=True,slug_func=slugify).use(toc_plugin,list_type="ol"))markdown="""# A Page[TOC]## Section 1## Section 2"""html=md.render(markdown)Creates the following HTML output<h1 id="a-page">A Page <a class="header-anchor" href="#a-page">¶</a></h1>
<nav>
<ol>
<li><a href="#a-page">A Page </a><ol>
<li><a href="#section-1">Section 1 </a></li>
<li><a href="#section-2">Section 2 </a></li>
</ol></li>
</ol></nav>
<h2 id="section-1">Section 1 <a class="header-anchor" href="#section-1">¶</a></h2>
<h2 id="section-2">Section 2 <a class="header-anchor" href="#section-2">¶</a></h2>
Package: mdium
mdiumpublish your markdown to Medium, from the CLIInstallation$pipinstallmdiumUsageInitializingFirst off, set upmdiumwith your Medium integration token. You’ll have to generate one from thesettingspage.$mdiuminit<integration-token>This will create a file at~/.mdium, containing your integration token and author ID.PublishingFor publishing, your markdown doc must have the following frontmatter:---title:My Awesome Posttags:['some','tags','here']status:draft---## markdown here...Note that thestatusfield can be eitherdraftorpublic.Finally, run$mdiumpublishpath/to/markdown.mdDone! Your post has been published at https://medium.com/@gaben/76272e9d241cIt’s that simple.LicenseMIT © Anirudh Oppiliappan
Package: mdk
mdkmdkis a cli helper for docker built atMatician.PrerequisitesPython (3)pip (3)Docker(ce)About Docker versionsThoughmdkitself does not require a specific Docker version, it is often used in conjection with Docker features from the 1.40 Docker API. This is only supported by Docker releases >= 19.Installation$pip3install--usermdkNote: you must have themdkexecutable in your$PATH. If you used the installation instructions above, the executable is in~/.local/bin.UsageRun themdkcommand after installation for a full list of commands. For help on individual commands, usemdk COMMAND --help.FAQHow do I add custom configuration to containers created bymdk?mdkautomatically loads additional options from two files:ext.mdk.jsonlocated in the same directory asmdk.json~/.config/mdk/mdk.json
Package: mdlogger
A python logger wrapper project. Write log in markdown.FeaturesThree kinds of logs files:Full log:DEBUGlevel log, use file rotating handler for this
kind of log.Error log:ERRORlevel log, use file rotating handler for this
kind of log.One time log:NOTSETlevel log, use write mode for this kind of
log. Refresh content every time.File logs will look like this:module.func()::file.py:8- 2023-12-30 06:18:27.709:ERROR[PID:68207:THREAD:MainThread]error messageConsole output will look like this:INFO [68207:MainThread]module.func()- 2023-12-30
06:18:27.709: log infoThis is just a simple wrapper for python logging module to log in
markdown format. Just for personal use in small projects for now.
Package: mdlp-discretization
Implements the MDLP discretization criterion from Usama Fayyad’s paper
“Multi-Interval Discretization of Continuous-Valued Attributes for
Classification Learning.”Home-page: github.com/hlin117/mdlp-discretization
Author: Henry Lin
Author-email:hlin117@gmail.comLicense: BSD 3 Clause
Description: UNKNOWN
Platform: UNKNOWN
Package: mdm_compare
AboutConsole app and Python API for comparing 2 experiment results stored in the MDM
file format.MDM is a readable text format suitable for storing and exchanging experiment
results, used for years by our university research team and most of our software.Continuous integrationis powered byJenkins.InstallationTo install mdm_compare run:$ pip install mdm_compareConsole app usageQuick start:$ mdm_compare filename1 filename2Show help:$ mdm_compare --helpPython API usageQuick start:>>> from mdm_compare import mdm_compare
>>> mdm_compare(filename1, filename2)ContributeIf you find any bugs, or wish to propose new featuresplease let me know.If you’d like to contribute, simply forkthe repository, commit your changes
and send a pull request. Make sure you add yourself toAUTHORS.
Package: md-mermaid
md_mermaidmermaid extension for Python-Markdown to add support for mermaid graph inside markdown fileInstallationForpipinstallation (only python version >=3.x) :pipinstallmarkdown
pipinstallmd-mermaidUsageIn your python script :importmarkdowntext="""# TitleSome text.​~~~mermaidgraph TBA --> BB --> C​~~~Some other text.​~~~mermaidgraph TBD --> EE --> F​~~~"""html=markdown.markdown(text,extensions=['md_mermaid'])print(html)Output will result in :<h1>Title</h1><p>Some text.</p><divclass="mermaid">graph TB
A --> B
B --> C</div><p>Some other text.</p><divclass="mermaid">graph TB
D --> E
E --> F</div><script>mermaid.initialize({startOnLoad:true});</script>The<script>...</script>line appears only once even if there are several graphs in the file.Note that the extension name have a '_' not a '-'.Attention : don't forget to include in your output html project the two following mermaid files :mermaid.css (optional, can be customised)mermaid.min.js (can be download herehere)
Package: md-mermaid-ort
md_mermaidmermaid extension for Python-Markdown to add support for mermaid graph inside markdown fileInstallationForpipinstallation (only python version >=3.x) :pipinstallmarkdown
pipinstallmd-mermaid-ortUsageIn your python script :importmarkdowntext="""# TitleSome text.​~~~mermaidgraph TBA --> BB --> C​~~~Some other text.​~~~mermaidgraph TBD --> EE --> F​~~~"""html=markdown.markdown(text,extensions=['md_mermaid'])print(html)Output will result in :<h1>Title</h1><p>Some text.</p><divclass="mermaid">graph TB
A --> B
B --> C</div><p>Some other text.</p><divclass="mermaid">graph TB
D --> E
E --> F</div><script>mermaid.initialize({startOnLoad:true});</script>The<script>...</script>line appears only once even if there are several graphs in the file.Note that the extension name have a '_' not a '-'.Attention : don't forget to include in your output html project the two following mermaid files :mermaid.css (optional, can be customised)mermaid.min.js (can be download herehere)DevelopmentBuild and publish a new version on pypiIncrement the version insetup.pyBuild the package:python3 setup.py sdist bdist_wheelUpload the packages on pypi:python3 -m twine upload --repository pypi dist/*Commit, tag the commit with the version number, and push all thatFor the twine upload to work, it needs a~/.pypircfile declaring thepypirepository:[pypi]username=__token__password=pypi-<AN_ALLOWED_PYPI_TOKEN>
Package: mdml-client
MDML ClientInstallationpipinstallmdml_clientDocumentationCheck out ourRead the DocsInside the tutorial folder, there is a Jupyter Notebook (also onGoogle Colab) that demonstrates basic usage of the MDML client.
There are also some generic Python scripts that can be used for testing or be adapted to fit your problem.Open Source LicenseRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer.Redistributions in binary form must reproduce the copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.DisclaimerTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ​“AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANT ABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Package: mdmpy
MDM PyThis package is aPythonimplementation ofMarginal Distribution Models(MDMs), which can be used in Discrete Choice Modelling.DocumentationDocumentation is kindly hosted byRead The Docs.InstallThis package is uploaded toPyPI. Hence,pip install mdmpyshould work.How to useSimplest CaseGradient DescentIn the simplest case, we will use the Multinomial Logit (MNL) model,
which is used as a default. Assumingnumpy,scipyandpandasare
installed, we generate choice data assuming a random utility model:fromstringimportascii_uppercaseaslettersimportpandasaspdimportscipy.statsasstatsimportnumpyasnpNUM_INDIV=57NUM_CHOICES=3NUM_ATTR=4np.random.seed(2019)X=np.random.random((NUM_ATTR,NUM_INDIV*NUM_CHOICES))true_beta=np.random.random(NUM_ATTR)V=np.dot(true_beta.T,X)V=np.reshape(V,(NUM_INDIV,NUM_CHOICES))eps=stats.gumbel_r.rvs(size=NUM_INDIV*NUM_CHOICES)eps=np.reshape(eps,(NUM_INDIV,NUM_CHOICES))U=V+epshighest_util=np.argmax(U,1)df=pd.DataFrame(X.T)df['choice']=[1ifidx==xelse0foridxinhighest_utilforxinrange(NUM_CHOICES)]df['individual']=[indivforindivinrange(NUM_INDIV)for_inrange(NUM_CHOICES)]df['altvar']=[altlvlfor_inrange(NUM_INDIV)foraltlvlinletters[:NUM_CHOICES]]With this package, we will assume thatdfis the dataframe which is
simply given to us. Instead of having the code itself find out how
many individuals, choices and coefficients or attributes there are, we
will simply feed them into the class. To perform a gradient descent
with this class, we will use thegrad_descmethod, using thedffrom above as input,importmdmpy# In a typical case one would load df before this linemdm=mdmpy.MDM(df,4,3,[0,1,2,3])np.random.seed(4)init_beta=np.random.random(4)grad_beta=mdm.grad_desc(init_beta)print(grad_beta)# expected output [0.30238122 0.07955214 0.86779824 0.50951981]SolverTheMDMclass acts as a wrapper and adds the necessarypyomovariables and sets to model the problem, but requires a solver.IPOPT, an
interior point solver, is recommended. If you have such a solver, it
can be called. Assuming IPOPT is being used:importmdmpyipopt_exec_path=/path/to/ipopt# Replace with proper pathmdm=mdmpy.MDM(df,4,3,[0,1,2,3])mdm.model_init()mdm.model_solve("ipopt",ipopt_exec_path)print([mdm.m.beta[idx].valueforidxinmdm.m.beta])# expected output [0.30238834989235025, 0.07953888508425154, 0.8678050334295714, 0.5095096796373667]