LogoLogo
Book a DemoWebsite
  • Overview
  • Basics
    • Design Your Data
    • Templates
    • Fields
    • Research Questions
    • Profiles
  • Client
    • Templates
    • Fields
    • Research Questions
    • Profiles
  • API Reference
    • Templates
    • Fields
    • Research Questions
    • Profiles
  • Quick Starts
    • Company
Powered by GitBook
On this page
  • Create Template
  • Specification
  • Snapshots
  • Created Fields
  • Accessing Values
  1. Client

Profiles

Profiles apply a Template to a specific entity.

PreviousResearch QuestionsNextAPI Reference

Last updated 3 months ago


Create Template

First, let's finally create our Template with our client.

created_template = client.templates.create(template)

Specification

We use specifications to apply our Templates to a specific entity and create a Profile. Here we will apply our Company template to NVIDIA.

profile = client.profiles.create(
    specification="NVIDIA",
    template_id=created_template.id,
)
print(profile.id, profile.status)

Again, since this is going to be happening in real time, it's important to ensure the status is completed before diving into the data.

Snapshots

As information changes over time, Evrim allows users to create over time to track how fields may be changing as new information enters the ecosystem. To view our first run of the NVIDIA Profile, we can access the first Snapshot.

# get latest snapshot
snapshot = profile.snapshots[-1]
print(snapshot.fields)

Created Fields

We are still in very active development and therefore the structure of Created Fields is likely to change soon.

Accessing Values

Once the profile is completed, we can access the collected information in the value attribute.

# get a single field
field = snapshot.fields[0]
print(field.value)

While this is a simple example, we can scale up our data collection pipeline and create a larger dataset with just a few lines of code!

companies = [
    "Qualcomm",
    "TSMC",
    "AMD",
    "Intel",
    "Micron"
]
profiles = []
for company in companies:
    profile = client.profiles.create(
        template=created_template.id,
        specification=company
    )
    profiles.append(profile)

Once our profiles are done running we can easily convert this data into a Pandas DataFrame.

rows = []
for profile in profiles:
    # get first snapshot
    snapshot = profile.snapshot[-1]
    # create row for snapshot
    row = {}
    # pull field name and value into a row
    for created_field in snapshot.fields:
        row[created_field.field.name] = created_field.value.value
    rows.append(row)
# create DataFrame
dataframe = pd.DataFrame(rows)

We are actively adding new feature to API and will keep this page up to date with our advances!

Looking at a the fields of a Snapshot, we see that it is made up of . Created Fields are initialized Fields. Upon initialization, Created Fields start the real time data collection process based on the combination of a Template and a specification. Created Fields each have their own individual status, sources, and reasoning information.

This gives us granular information on how Evrim is creating a final value or answer and where Evrim is getting information from, providing in-depth reasoning and confidence metrics directly to the user through the API and in the Evrim UI. See the additional docs for more details on the structure of .

authenticated
Snapshots
Created Fields
Created Fields
Created Fields are powerful & data rich tools, delivering transparency and high quality data.