uparekh01151's picture
Initial commit for DataEngEval
acd8e16
cases:
- id: "api_documentation"
question: "Create documentation for a REST API endpoint that handles user authentication"
reference_doc: |
# User Authentication API
## POST /api/auth/login
Authenticates a user and returns a JWT token.
### Request Body
```json
{
"username": "string",
"password": "string"
}
```
### Response
```json
{
"token": "string",
"expires_in": 3600,
"user": {
"id": 1,
"username": "string",
"email": "string"
}
}
```
### Status Codes
- `200 OK`: Authentication successful
- `401 Unauthorized`: Invalid credentials
- `400 Bad Request`: Missing or invalid request body
difficulty: "medium"
description: "API endpoint documentation"
- id: "function_documentation"
question: "Create documentation for a Python function that calculates the factorial of a number"
reference_doc: |
## factorial(n)
Calculates the factorial of a given number.
### Parameters
- `n` (int): The number to calculate factorial for. Must be non-negative.
### Returns
- `int`: The factorial of n
### Raises
- `ValueError`: If n is negative
### Examples
```python
>>> factorial(5)
120
>>> factorial(0)
1
>>> factorial(-1)
ValueError: Factorial is not defined for negative numbers
```
difficulty: "easy"
description: "Function documentation with examples"
- id: "class_documentation"
question: "Create documentation for a Python class that represents a bank account"
reference_doc: |
## BankAccount
A class representing a bank account with basic operations.
### Attributes
- `balance` (float): The current account balance
- `account_number` (str): Unique account identifier
### Methods
#### `__init__(self, account_number: str, initial_balance: float = 0.0)`
Initialize a new bank account.
#### `deposit(self, amount: float) -> bool`
Deposit money into the account.
- **Parameters**: `amount` (float): Amount to deposit (must be positive)
- **Returns**: `bool`: True if successful, False otherwise
#### `withdraw(self, amount: float) -> bool`
Withdraw money from the account.
- **Parameters**: `amount` (float): Amount to withdraw (must be positive and <= balance)
- **Returns**: `bool`: True if successful, False otherwise
#### `get_balance(self) -> float`
Get the current account balance.
- **Returns**: `float`: Current balance
difficulty: "medium"
description: "Class documentation with methods"
- id: "installation_guide"
question: "Create installation and setup documentation for a Python package"
reference_doc: |
# Installation Guide
## Prerequisites
- Python 3.8 or higher
- pip (Python package installer)
## Installation
### Using pip
```bash
pip install my-package
```
### From source
```bash
git clone https://github.com/user/my-package.git
cd my-package
pip install -e .
```
## Configuration
Create a configuration file `config.yaml`:
```yaml
database:
host: localhost
port: 5432
name: myapp
api:
base_url: https://api.example.com
timeout: 30
```
## Quick Start
```python
from my_package import MyClass
# Initialize
app = MyClass()
# Use the application
result = app.process_data("input")
print(result)
```
difficulty: "hard"
description: "Complete installation and setup guide"