Vasyl Andrunyk

40 papers C 2Misc 7Unranked 31
YearRankTypeTitle / Venue / Authors
2025 conf
ITPM
Vasyl Andrunyk, Tetiana Shestakevych, Nataliya Kalka, Halyna Odyntsova, Oleh Kuzo
2025 conf
MoDaST
Ihor Chushchak, Vasyl Andrunyk
2023 Misc conf
CSIT
Vasyl Andrunyk, Tetiana Shestakevych
2023 conf
MoMLeT+DS
Taras Sopin, Victoria Vysotska, Oksana Markiv, Lyubomyr Chyrun, Vasyl Andrunyk, Sofia Chyrun, Oleh Naum
2023 Misc conf
CSIT
Roman Romanchuk, Victoria Vysotska, Vasyl Andrunyk, Lyubomyr Chyrun, Sofia Chyrun, Oksana Brodyak
2023 Misc conf
CSIT
Mykola Baran, Victoria Vysotska, Vasyl Andrunyk, Lyubomyr Chyrun, Valentyna Panasyuk, Tetiana Nazarova
2023 conf
MoMLeT+DS
Vasyl Andrunyk, Nataliya Kalka, Tetiana Shestakevych
2022 conf
COLINS
Vasyl Andrunyk, Tetiana Shestakevych, Maksym Kryvoshyya
2021 conf
COLINS
Volodymyr Kuchkovskiy, Vasyl Andrunyk, Maksym Krylyshyn, Lyubomyr Chyrun, Anatolii Vysotskyi, Sofia Chyrun, Nataliia Sokulska, Ilona Brodovska
2021 conf
MoMLeT+DS
Diana Koshtura, Vasyl Andrunyk, Tetiana Shestakevych
2021 conf
MoMLeT+DS
Vasyl Andrunyk, Dmytro Shostak
2021 conf
COLINS
Andrii Berko, Vasyl Andrunyk, Lyubomyr Chyrun, Mykhailo Sorokovskyy, Oksana Oborska, Oksana Oryshchyn, Mykhailo Luchkevych, Oksana Brodovska
2021 conf
COLINS
Lyubomyr Chyrun, Vasyl Andrunyk, Liliya Chyrun, Aleksandr Gozhyj, Anatolii Vysotskyi, Oksana Tereshchuk, Nadiya Shykh, Vadim Schuchmann
2021 conf
COLINS
Oksana Oborska, Vasyl Andrunyk, Liliya Chyrun, Ruslan Hasko, Anatolii Vysotskyi, Solomiia Mushasta, Oksana Petruchenko, Iryna Shakleina
2021 conf
CSIT (1)
Andrii Dyriv, Vasyl Andrunyk, Yevhen Burov, Ihor Karpov, Lyubomyr Chyrun
2021 conf
CSIT (1)
Vasyl Andrunyk, Tetiana Shestakevych, Diana Koshtura
2020 C conf
IDDM
Tetiana Shestakevych, Vasyl Andrunyk
2020 Misc conf
CSIT
Vasyl Andrunyk, Olesia Yaloveha
2020 conf
COLINS
Kateryna Supruniuk, Vasyl Andrunyk, Lyubomyr Chyrun
2020 conf
MoMLeT+DS
Yurii Tverdokhlib, Vasyl Andrunyk, Liliya Chyrun, Lyubomyr Chyrun, Nataliya Antonyuk, Ivan Dyyak, Oleh Naum, Dmytro Uhryn, Vitor Basto-Fernandes
2020 conf
CSIT (2)
Vasyl Andrunyk, Yurii Prystai, Tetiana Shestakevych
2020 conf
DSMP
Irina Pelekh, Andrii Berko, Vasyl Andrunyk, Lyubomyr Chyrun, Ivan Dyyak
2020 conf
COLINS
Mariya Hrendus, Vasyl Andrunyk, Maksym Yavir, Yuriy Ryshkovets, Andrii Khudyi, Viktor Hryhorovych, Maksym Korobchynskyi
2020 conf
COLINS
Vasyl Andrunyk, Andrii Vasevych, Liliya Chyrun, Nadija Chernovol, Nataliya Antonyuk, Aleksandr Gozhyj, Victor Gozhyj, Irina Kalinina, Maksym Korobchynskyi
2020 conf
CSIT (1)
Ivan Dyyak, Lyubomyr Chyrun, Nataliya Antonyuk, Andrii Berko, Vasyl Andrunyk, Andrii Khudyi
2020 conf
CSIT (1)
Andrii Berko, Liliya Chyrun, Ivan Dyyak, Vasyl Andrunyk, Lyubomyr Chyrun, Nataliya Antonyuk
2020 conf
CSIT (1)
Lyubomyr Chyrun, Nataliya Antonyuk, Vasyl Andrunyk, Ivan Dyyak, Andrii Berko, Khrystyna Mykich
2020 conf
MoMLeT+DS
Oleh Soprun, Myroslava Bublyk, Yurii Matseliukh, Vasyl Andrunyk, Lyubomyr Chyrun, Ivan Dyyak, Anatoly Yakovlev, Michael Emmerich, Oleksandr Osolinskyi, Anatoliy Sachenko
2020 conf
CSIT (1)
Vasyl Andrunyk, Olesia Yaloveha
2020 conf
COLINS
Vasyl Andrunyk, Andriy Berko, Bohdan Rusyn, Liubomyr Pohreliuk, Sofia Chyrun, Bohdan Dokhniak, Ihor Karpov, Maksym Krylyshyn
2020 Misc conf
CSIT
Vasyl Andrunyk, Yurii Prystai, Tetiana Shestakevych
2020 conf
CSIT (1)
Liliya Chyrun, Vasyl Andrunyk, Lyubomyr Chyrun, Andrii Berko, Ivan Dyyak, Nataliya Antonyuk
2020 conf
MoMLeT+DS
Dmytro Uhryn, Vasyl Andrunyk, Lyubomyr Chyrun, Nataliya Antonyuk, Ivan Dyyak, Oleh Naum
2020 conf
MoMLeT+DS
Mariia Horbova, Vasyl Andrunyk, Lyubomyr Chyrun
2019 Misc conf
CSIT
Vasyl Andrunyk, Volodymyr Pasichnyk, Nataliya Antonyuk, Tetiana Shestakevych
2019 C conf
IDDM
Nataliya Antonyuk, Lyubomyr Chyrun, Vasyl Andrunyk, Andrii Vasevych, Sofia Chyrun, Aleksandr Gozhyj, Irina Kalinina, Yuriy Borzov
2019 conf
CSIT (3)
Vasyl Andrunyk, Volodymyr Pasichnyk, Tetiana Shestakevych, Natalya Antonyuk
2019 conf
DCSMart
Vasyl Andrunyk, Volodymyr Pasichnyk, Nataliia Kunanets, Tetiana Shestakevych
2019 conf
MoMLeT
Mykola Odrekhivskyy, Volodymyr Pasichnyk, Antonii Rzheuskyi, Vasyl Andrunyk, Mariia Nazaruk, Oksana Kunanets, Danylo Tabachyshyn
2018 Misc conf
ICTERI
Volodymyr Pasichnyk, Tetiana Shestakevych, Nataliia Kunanets, Vasyl Andrunyk
s3-storage/s3_test.py
← Index s3-storage/s3_test.py python
#!/usr/bin/env python3
"""
Simple script to test S3 connectivity and download.
Usage: python s3_test.py
"""

import os
import time
import tempfile
from minio import Minio
from minio.error import S3Error
from dotenv import load_dotenv

# Load environment variables
load_dotenv()

def get_minio_client():
    """Create and return a Minio client using credentials from .env file"""
    endpoint = os.getenv("S3_ENDPOINT")
    access_key = os.getenv("S3_ACCESS_KEY")
    secret_key = os.getenv("S3_SECRET_KEY")
    secure = True 
    
    print(f"Connecting to S3 endpoint: {endpoint} (secure={secure})")
    
    return Minio(
        endpoint=endpoint,
        access_key=access_key,
        secret_key=secret_key,
        secure=secure
    )

def test_connection():
    """Test basic connectivity to S3"""
    try:
        client = get_minio_client()
        
        # Try to list buckets as a basic connectivity test
        buckets = client.list_buckets()
        print(f"Successfully connected to S3. Found {len(buckets)} buckets:")
        for bucket in buckets:
            print(f"  - {bucket.name}")
        
        return client
    except Exception as e:
        print(f"Failed to connect to S3: {e}")
        return None

def test_bucket_access(client, bucket_name):
    """Test access to a specific bucket"""
    try:
        exists = client.bucket_exists(bucket_name)
        if exists:
            print(f"Bucket '{bucket_name}' exists and is accessible")
            
            # List a few objects to verify access
            count = 0
            objects = []
            for obj in client.list_objects(bucket_name, recursive=True):
                print(f"  - {obj.object_name} ({obj.size} bytes)")
                objects.append(obj)
                count += 1
                if count >= 5:
                    break
            
            print(f"Found at least {len(objects)} objects in bucket")
            return objects
        else:
            print(f"Bucket '{bucket_name}' does not exist or is not accessible")
            return []
    except Exception as e:
        print(f"Error accessing bucket '{bucket_name}': {e}")
        return []

def test_download(client, bucket_name, object_name):
    """Test downloading a specific object"""
    try:
        print(f"Attempting to download: {object_name}")
        start_time = time.time()
        
        # Create a temporary file to store the downloaded object
        with tempfile.NamedTemporaryFile(delete=False) as temp_file:
            temp_path = temp_file.name
        
        # Download the object
        client.fget_object(bucket_name, object_name, temp_path)
        
        # Check if the file was downloaded successfully
        file_size = os.path.getsize(temp_path)
        elapsed_time = time.time() - start_time
        
        print(f"Download successful: {file_size} bytes in {elapsed_time:.2f} seconds")
        print(f"Average download speed: {file_size/elapsed_time/1024:.2f} KB/s")
        
        # Clean up
        os.unlink(temp_path)
        return True
    except S3Error as e:
        print(f"S3 Error during download: {e}")
        return False
    except Exception as e:
        print(f"Error downloading object: {e}")
        return False

def main():
    """Main function to run all tests"""
    print("=== S3 Connectivity Test ===")
    
    # Test basic connectivity
    client = test_connection()
    if not client:
        return
    
    # Get bucket name from environment variable
    bucket_name = "redb"
    print(f"\n=== Testing Access to Bucket: {bucket_name} ===")
    objects = test_bucket_access(client, bucket_name)
    
    if objects:
        # Test downloading the first object
        first_object = objects[0].object_name
        print(f"\n=== Testing Download of Object: {first_object} ===")
        test_download(client, bucket_name, first_object)
        
        # If the first one worked, let's try a specific file from the error log
        print(f"\n=== Testing Download of Specific Object ===")
        specific_object = "00/06/00062073114defac39cb7ab9cb99a0b77c535a09a241c60d47ddd0b6431629f1.zip"
        test_download(client, bucket_name, specific_object)

if __name__ == "__main__":
    main()