Metadata-Version: 2.5
Name: mikecore
Version: 0.3.0a1
Summary: MIKE Core contains core libraries, like DFS (Data File System), EUM and more.
Project-URL: Homepage, https://github.com/DHI/mikecore-python
Author-email: DHI <mike@dhigroup.com>
License: Copyright (c) 2019, 
        All rights reserved. 
        
        Redistribution 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 above copyright notice, 
           this list of conditions and the following disclaimer. 
         * Redistributions in binary form must reproduce the above 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 DHI nor the names of its contributors may be used to 
           endorse or promote products derived from this software without specific 
           prior written permission. 
        
        THIS 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 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
        ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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. 
License-File: LICENSE.txt
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.5
Requires-Dist: numpy
Description-Content-Type: text/markdown

# MIKE Core for Python

A project to facilitate use of the MIKE Core components with Python, targeting Windows as
well as Linux. 

The MIKE Core Python classes have an API which is almost identical to the MIKE Core .NET API, to the extend possible. 
Since Python does not support all the language constructions that .NET/C\# does (as e.g. method overriding),
the API's are not completely identical. Also, the number of classes in the Python version is also smaller, 
since Python classes can be formed while being used. However, the examples and documentation for the 
.NET/C\# API is to a high degree applicable also for the use of MIKE Core Python. For details, visit:

[MIKE for Developers/MIKE Core](http://docs.mikepoweredbydhi.com/core_libraries/core-libraries/)

This library is the foundation for [MIKE IO](https://github.com/DHI/mikeio). 

## Installation

```pip install mikecore```

## Development

All commands are run from the project root.

1.  **Sync & Build**
    ```bash
    uv sync
    # Use 'uv sync --reinstall' to force-rebuild native components.
    ```

2.  **Update EUM Types** (for new release, or whenever EUM.xml changes)
    ```bash
    # Generate definitions from the new native build
    uv run ./buildUtil/eumXMLProcess.py > eumItemUnit.txt

    # Use a diff tool to merge changes into mikecore/eum.py.
    ```

3.  **Run Tests**
    ```bash
    uv run pytest
    ```

4.  **Build Packages** (Optional)
    ```bash
    uv build
    ```


