Beispiel #1
0
def test_incorrect_rotation_time():

    with pytest.raises(TypeError):
        session = get_or_create_session()
        with session.logger("test2", with_rotation_time='W2') as logger:
            df = util.testing.makeDataFrame()
            logger.log_dataframe(df)
Beispiel #2
0
def test_get_global_session():
    _session = None
    session = get_or_create_session()

    global_session = get_session()

    assert session == global_session
Beispiel #3
0
def test_log_csv(tmpdir):
    csv_path = os.path.join(script_dir, os.pardir, "lending_club_1000.csv")
    session = get_or_create_session()
    with session.logger("csvtest") as logger:
        logger.log_csv(csv_path)
        summary = logger.profile.flat_summary()
        flat_summary = summary['summary']

        assert len(flat_summary) == 151
Beispiel #4
0
def test_profile_df():
    session = get_or_create_session()
    df = util.testing.makeDataFrame()
    log_profile = session.log_dataframe(df)
    profile = session.profile_dataframe(df)

    assert log_profile.name == profile.name
    assert log_profile.dataset_timestamp == profile.dataset_timestamp
    assert log_profile.session_timestamp == profile.session_timestamp

    assert len(profile.columns) == 4
    assert len(log_profile.tags) == 1
    assert len(profile.tags) == 2
Beispiel #5
0
def test_close_session(df):
    session = get_or_create_session()
    session.close()
    assert session.is_active() == False
    log_profile = session.log_dataframe(df)
    assert log_profile == None
    profile = session.profile_dataframe(df)
    assert profile == None
    profile = session.new_profile(df)
    assert profile == None

    with pytest.raises(RuntimeError):
        session.logger()
Beispiel #6
0
def test_load_config(tmpdir):
    original_dir = os.curdir

    p = tmpdir.mkdir("whylogs")

    try:
        session = get_or_create_session()
        os.chdir(p)
        assert session.project == "test-project-yaml"

        with session.logger("test_name") as logger:
            logger.log_dataframe(pd.DataFrame())
        session.close()
    finally:
        os.chdir(original_dir)
Beispiel #7
0
def test_profile_df(df):
    import datetime

    session = get_or_create_session()
    dt = datetime.datetime.now(datetime.timezone.utc)
    log_profile = session.log_dataframe(df, dataset_timestamp=dt)
    profile = session.profile_dataframe(df, dataset_timestamp=dt)

    assert log_profile.name == profile.name
    assert log_profile.dataset_timestamp == profile.dataset_timestamp
    assert log_profile.session_timestamp == profile.session_timestamp

    assert len(profile.columns) == 4
    assert len(log_profile.tags) == 1
    assert len(profile.tags) == 2
Beispiel #8
0
def test_remove_logger():
    session = get_or_create_session()
    session.logger("default-project")
    with pytest.raises(KeyError):
        session.remove_logger("test")
Beispiel #9
0
def test_reset():

    session = get_or_create_session()
    reset_default_session()
    global_session = get_session()
    assert global_session.project is not None
Beispiel #10
0
"""
Logger options
==============

Example showing the use of a few logger options which can control
output locations
"""
import pandas as pd

from whylogs.app.session import get_or_create_session

# Load some example data, using 'issue_d' as a datetime column
df = pd.read_csv("data/lending_club_1000.csv", parse_dates=["issue_d"])

# Create a whylogs logging session
session = get_or_create_session()
# Log statistics for the dataset with config options
with session.logger(
        dataset_name="lending-club",
        dataset_timestamp=df["issue_d"].max(),
) as ylog:
    ylog.log_dataframe(df)
    # Note that the logger is active within this context
    print("Logger is active:", ylog.is_active())

# The logger is no longer active
print("Logger is active:", ylog.is_active())
Beispiel #11
0
def test_logger_cache():
    session = get_or_create_session()
    with session.logger("cache-test", with_rotation_time="s") as logger:
        logger.log({"name": 1})
    session.close()
Beispiel #12
0
def test_incorrect_rotation_time(df):

    with pytest.raises(TypeError):
        with get_or_create_session() as session:
            with session.logger("test2", with_rotation_time="W2") as logger:
                logger.log_dataframe(df)