# module `concrete.compiler.server_circuit`
ServerCircuit.
---
## class `ServerCircuit`
ServerCircuit references a circuit that can be called for execution and simulation.
### method `__init__`
```python
__init__(server_circuit: ServerCircuit)
```
Wrap the native Cpp object.
**Args:**
- `server_circuit` (_ServerCircuit): object to wrap
**Raises:**
- `TypeError`: if server_circuit is not of type _ServerCircuit
---
### method `call`
```python
call(
public_arguments: PublicArguments,
evaluation_keys: EvaluationKeys
) → PublicResult
```
Executes the circuit on the public arguments.
**Args:**
- `public_arguments` (PublicArguments): public arguments to execute on
- `execution_keys` (EvaluationKeys): evaluation keys to use for execution.
**Raises:**
- `TypeError`: if public_arguments is not of type PublicArguments, or if evaluation_keys is not of type EvaluationKeys
**Returns:**
- `PublicResult`: A public result object containing the results.
---
### method `simulate`
```python
simulate(public_arguments: PublicArguments) → PublicResult
```
Simulates the circuit on the public arguments.
**Args:**
- `public_arguments` (PublicArguments): public arguments to execute on
**Raises:**
- `TypeError`: if public_arguments is not of type PublicArguments
**Returns:**
- `PublicResult`: A public result object containing the results.