human
!pip install sympy

# Some imports to make the code below run
from math import pi, sqrt, sin, cos, tan, atan
from datetime import datetime, timedelta
import numpy as np
# SymPy is needed because one of Kepler's equations
# is in implicit form and must be solved numerically!
from sympy import Symbol, sin as sin_
from sympy.solvers.solvers import nsolve

class ProducesOrbitalPosition(sciunit.Capability):
    """
    A model `capability`, i.e. a collection of methods that a test is allowed to invoke on a model.
    These methods are unimplemented by design, and the model must implement them.
    """
    
    def get_position(self, t: datetime) -> tuple:
        """Produce an orbital position from a time point
        in polar coordinates.
        
        Args:
            t (datetime): The time point to examine, relative to perihelion
        Returns:
            tuple: A pair of (r, theta) coordinates in the oribtal plane
        """
        raise NotImplementedError("")
        
    @property
    def perihelion(self) -> datetime:
        """Return the time of last perihelion"""
        raise NotImplementedError("")
    
    @property
    def period(self) -> float:
        """Return the period of the orbit"""
        raise NotImplementedError("")
    
    @property
    def eccentricity(self) -> float:
        """Return the eccentricity of the orbit"""
        raise NotImplementedError("")
    
    def get_x_y(self, t: datetime) -> tuple:
        """Produce an orbital position from a time point, but in cartesian coordinates.
        This method does not require a model-specific implementation.
        Thus, a generic implementation can be provided in advance."""
        raise NotImplementedError("")
Given the above code, generate some markdown instructions for it.

=====
Give me a the Python program you requested?
assistant
#Here is the Python program you requested.

<table>
<tr style='background-color: #FFFFFF'>
    <td></td><th style='text-align: center'>Experimentalists</th>
</tr>
<tr>
    <th>Modelers</th><td><table style='border: 1px solid black'></td>
<tr>
    <th></th><th class="medium">Babylonians</th><th class="medium">Brahe</th><th class="medium">Galileo</th><th class="medium">Le Verrier</th>
</tr>
<tr>
    <th class="medium">Ptolemy</th><td class='green'></td><td class='red'></td><td class='red'></td><td class='red'></td>
</tr>
<tr>
    <th class="medium">Copernicus</th><td class='green'></td><td class='red'></td><td class='red'></td><td class='red'></td>
</tr>
<tr>
    <th class="medium">Kepler</th><td class='green'></td><td style='background-color:#FF0000'></td><td class='grey'></td><td class='red'></td>
</tr>
<tr>
    <th class="medium">Newton</th><td class='green'></td><td class='green'></td><td class='green'></td><td class='red'></td>
</tr>
<tr>
    <th class="medium">Einstein</th><td class='green'></td><td class='green'></td><td class='green'></td><td class='green'></td>
</tr>
</table>
</td>
</tr>
</table>
<table style='border: 1px solid black'>
    <tr>
        <td class='green'>Pass</td><td class='red'>Fail</td><td class='grey'>Unclear</td>
    </tr>
</table>

Model validation goals:
- Generate one unit tests for each experimental datum (or stylized fact about data)
- Execute these tests against all models capable of taking them
- Programatically display the results as a &ldquo;dashboard" of model validity

Optionally record and display non-boolean test results, test artifacts, etc.

High-level workflow for validation:
```python
Hypothetical examples of data-driven tests
from cosmounit.tests import brahe_test, galileo_test, leverrier_test
Hypothetical examples of parameterized models
from cosmounit.models import ptolemy_model, copernicus_model 
Execute one test against one model and return a test score
score = brahe_test.judge(copernicus_model) 
```
This is the only code-like cell of the tutorial that doesn't contain executable code, since it is a...